do8do8,我发现了一个能够修改字符字面量的一个方法!!
平时我们说如果 char *cStr="China";就把这个指针定义为字符字面量,并且不能修改。例如:重新定义 cStr="LoveChina";的话
便会出现错误,不能更改。但是下面的代码可以用来更改字符字面量,是不我代码有问题??Why?
请高手解释:有劳!!
#include "stdio.h"
int main()
{
char *cChar="China"; /* 定义字符字面量 */
printf("cChar is:%s\n",cChar);
cChar=malloc(10);
cChar="abcdefg"; /* 重新赋值字符字面量 */
printf("cChar is:%s\n",cChar);
system("pause");
}
这几行代码在MinGW 可以通过,请测试一下VC吧!!
不过还是请高手解释一下原因。