Possible Duplicate:
Why does char* cause undefined behaviour while char[] doesn’t?
以下代码
int main() {
char * st = "abc";
*st = 'z';
return 0;
}
返回段错误。如果堆栈上的字符串不可修改,为什么它在编译时没有给出错误?
最佳答案
堆栈上的变量 st 是一个指针。分配的值是一个字符串常量(只读)。
关于c - 无法修改c中堆栈上的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14015575/