卡特琳娜皮肤手感:字符串常量问题
来源:百度文库 编辑:查人人中国名人网 时间:2024/05/02 19:48:04
char* s="AAA";
printf("%s",s);
s[0]='B';
printf("%s",s);
"AAA"是字符串常量。所以对是s[0]的赋值操作是不合法的
问怎么改?
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'只是改变了字符串中的第一个字符,是允许的。
你给的程序我调试过是可以运行的。