如何修改常量字符串?
char* pchar = "abc ";
怎么修改 "abc "中的值?
[解决办法]
存放在静态存储区不允许修改其值
[解决办法]
字符串常量不允许修改,
如果强制修改,
程序将被非法关闭 ~
[解决办法]
todototry() 说的很好。还有,就算没有出现内存访问错误,也可能是有问题的。因为很多编译器它会只保存相同字符串的一个副本。也就是说,如果有:
char *str = "abc ";
如果你这样做:
{
str[0] = 'A ';
printf( "%s\n ", str); // Abc
printf( "%s\n ", "abc "); // abc ?
}
那么,输出为:
Abc
Abc // attention: you want to output "abc ".
所以基于各种原因,你最好在定义的时候就写成这样:
const char *str = "abc "; 以避免修改它。
[解决办法]
对,没办法更改的。
[解决办法]
常量的意思就是不能修改,怎么非要修改常量呢,要是想要修改就直接将之定义为变量不就可以了。
[解决办法]
问这个问题很经典哦,我以前写个函数老是发现报告错误,后来才知道是不能修改这个字符串!!
[解决办法]
修改编译器先
[解决办法]
不能改吧