char* s="AAA"; printf("%s",s); s[0]='B'; printf("%s",s); 有什么错?如何改

来源:互联网 发布:淘宝客服怎么做好 编辑:程序博客网 时间:2024/04/29 20:31
char* s="AAA";  //s是一般的指针,但是存放的是字符串常量首地址 printf("%s",s); s[0]='B';//编译正确,运行出错,因为s[0]='B'试图修改字符串常量,字符串常量不能              修改,一般情况下给字符串常量赋值推荐做法是:const char* s="AAA";这样当编译器发现修改字符串常量内容时,就会直接报错。
0 0