#include using namespace std;
int main() { char c[6] = "hello";
c = "s"; //为什么c是不可被修改的左值 c[2] = 's'; //而c中的元素都可以被修改? return 0;
}
收起
数组名是常量型指针,即 const ,当然不能修改;这个与 const 型常量是一样的,定义了就不能修改。
c 中的元素,是编译器在堆栈上分配的一块内存,当然可以修改。如果你定义 char *p = "hello",则 这 指向一常量区的字符串。你可以试试去修改,如 p[2] 的值看看。结果当然是不能修改。
报告相同问题?