A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int main(){

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

}


3 个回复

倒序浏览
字符串初始化后貌似就不能再重新赋值吧
回复 使用道具 举报
"heima"在静态存储区,你这样是试图改变静态存储区里的值,是不对的
回复 使用道具 举报
大兄弟,首先你这的双引号就出了问题了,编译的时候不通过,你转换成在英文输入法下输入双引号。
s1[2]=’b’;其实这句话没看懂你表达的意思,s1是字符串指针变量,不是数组后面不跟[2]这个,
如果是想重新赋值一个字符串地址,那么赋值号右边应该是双引号 “ b”;
改成:
int main(){
char *s1 = "heima";
          s1="b";
printf("%s",s1);
}
输出结果是:b
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马