char a[3],b[]="china";
a=b;
printf("%s",a);
为什么编译会出错?
楼上不要瞎说好吗?
a和b都是数组类型,只能初始化不可修改。
数组名从来都不会是指针。
a已经被定义为字符数组,既然是数组, 而C99标准中不允许将字符串(实际上是一个指针变量) 赋值给数组, 所以将b 这个指针赋值给数组类型的a时,编译器会直接报语法错误: [Error] assignment to expression with array type。把a声明为指针即可。
error: incompatible types in assignment
类型不匹配。
连编译都不通过的问题就不要拿来问了。这种问题属于基本语法都不会。
要用库函数strcpy或者memset
越界了