常量好烦人
有这一段程序:
#include<stdio.h>
void main()
{ char *p;
p="abcd";
p[2]='x';
printf("%s",p);
}
该程序为将一个字符串常量的首地址赋给p,然后通过p引用该字符串的某个空间,
改变里面的值。这在TC里运用是可以的。结果为abxd.
abcd 是字符串常量,在C语言中常量的值是不可改变的。但在这里,它的值为什么
可以被改变呢?
还有一个问题,这个程序在VC++6。0运行不能通过。为什么?