字符串为什么只能在定义时赋值,或者用strcpy进行赋值
最近在研究c++,看了点东西,做了些例子,可是我发现了一个相当不能理解的问题
第一段:
char name[20];
name = "123123123";//这行代码编译通不过,报 IntelliSense: 表达式必须是可修改的左值
strcpy(name,"123123123"); //很可笑的是,这行代码又是正确的,凭什么这个库函数可以,而操作符=不可以
第二段:
char name[20]= "123123123";//我很奇怪,这一行与 第一段中的第一行+第二行有什么区别
可能是我本来是java程序员,一过来看c,c++的,感觉太过匪夷所思
这样的语法感觉太不正常了
这编译器为什么不让给char类型数组赋值呢?
求各位朋友解惑啊