[讨论]怎么回事?
char *p="love";
p[0]='k';不能这样?
char *p="love";
p[0]='k';不能这样?
2007-11-18 18:24
2007-11-18 18:51
2007-11-18 18:51
字符串是一个常量数组,里面的元素不能改变
同意
答案是肯定的,不可以改变.

2007-11-18 22:38
2007-11-19 11:10

字符串是常量,不可改变,我试过一些特别的方法,但还是没有达到要求

2007-11-19 11:26
字符串是一个常量数组,里面的元素不能改变
真是高手,一语命中要害,支持!

2007-11-19 11:41
]
[此贴子已经被作者于2007-11-19 12:06:21编辑过]

2007-11-19 11:49
2007-11-19 12:48
可以变的.
因为"love"为常量也要存储,存储时就有存储地址.
p的保存了常量的存储地址.
所以,p[0]='k';就是把'l'的存储空间的数据改成'k'.
但有些编译器不支持,改变常量的值.
这样的情况要依情况而定.

2007-11-20 12:28