C字符串数组有关问题
C字符串数组问题
------解决思路----------------------
因为单纯一个【c】代表的是数组的首地址,即一个地址编号,而地址编号不可以被更改。
如果你用指针引用一下就可以更改了,如 【*c = 's';】,注意,它更改的只是数组首地址的值,即【c[0]】的值。而【c[0]】的地址编号依然不可以更改
#include <iostream>
using namespace std;
int main()
{
char c[6] = "hello";
c = "s"; //为什么c是不可被修改的左值
c[2] = 's'; //而c中的元素都可以被修改?
return 0;
}
------解决思路----------------------
因为单纯一个【c】代表的是数组的首地址,即一个地址编号,而地址编号不可以被更改。
如果你用指针引用一下就可以更改了,如 【*c = 's';】,注意,它更改的只是数组首地址的值,即【c[0]】的值。而【c[0]】的地址编号依然不可以更改