黑马程序员技术交流社区

标题: 跪求大神指点这个代码怎么运行?出结果,谢谢 [打印本页]

作者: Sunshine丶星空    时间: 2016-2-25 22:41
标题: 跪求大神指点这个代码怎么运行?出结果,谢谢

int main(){

char *s1 = “heima”;
s1[2]=’b’;
printf(“%s”,s1);

}



作者: 米阳    时间: 2016-3-3 07:36
字符串初始化后貌似就不能再重新赋值吧
作者: raink001    时间: 2016-3-6 00:30
"heima"在静态存储区,你这样是试图改变静态存储区里的值,是不对的
作者: 冷傲阳    时间: 2016-3-8 23:57
大兄弟,首先你这的双引号就出了问题了,编译的时候不通过,你转换成在英文输入法下输入双引号。
s1[2]=’b’;其实这句话没看懂你表达的意思,s1是字符串指针变量,不是数组后面不跟[2]这个,
如果是想重新赋值一个字符串地址,那么赋值号右边应该是双引号 “ b”;
改成:
int main(){
char *s1 = "heima";
          s1="b";
printf("%s",s1);
}
输出结果是:b




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2