三体网盘下载:字符串常量问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 23:07:35
char* s="AAA";
printf("%s",s);
s[0]='B';
printf("%s",s);
"AAA"是字符串常量。所以对是s[0]的赋值操作是不合法的
问怎么改?

你是语法的问题。

那句改成:

*s = 'B';

就行了。

不知你是不是要把AAA变成BAA?

char *s = "AAA";改成char s[]="AAA",这样就行了,字符串常量就变成字符数组了。
字符串常量修改虽然不合法,但有时可以正常执行,不过在很多情况会下会引起程序错误,最好不要这样修改s[0]

你问的问题不对。
对s[0]的赋值是合法的。
因为s是字符数组,是一个变量。s[0]='B'只是改变了字符串中的第一个字符,是允许的。
你给的程序我调试过是可以运行的。