在 C++ 中,为什么编译器不允许修改以下字符指针如下
#include <iostream>
int main()
{
char* cp = "overflow";
cp[1]='p';
return 0;
}
输出:运行时崩溃。
但字符数组允许,
#include <iostream>
int main()
{
char cps[] = "overflow";
cp[1]='p'; // this compiles fine and output is operflow
return 0;
}
只想知道运行时发生了什么以及为什么会崩溃。谢谢你。