[讨论]怎么回事?
char *p="love";
p[0]='k';不能这样?
char *p="love";
p[0]='k';不能这样?
字符串是一个常量数组,里面的元素不能改变
同意
答案是肯定的,不可以改变.
字符串是常量,不可改变,我试过一些特别的方法,但还是没有达到要求
字符串是一个常量数组,里面的元素不能改变
真是高手,一语命中要害,支持!
[此贴子已经被作者于2007-11-19 12:06:21编辑过]
可以变的.
因为"love"为常量也要存储,存储时就有存储地址.
p的保存了常量的存储地址.
所以,p[0]='k';就是把'l'的存储空间的数据改成'k'.
但有些编译器不支持,改变常量的值.
这样的情况要依情况而定.