This question already has answers here:
Closed 4 years ago.
In C, why can't I assign a string to a char array after it's declared?
(6个答案)
我试过这么做,但犯了个错误。为什么我不能这么做?
int main()
{
char sweet[5];
sweet = "kova";
printf("My favorite sweet is %s\n", sweet);

return 0;
}

最佳答案

不,你不能。因为数组名是不可修改的l值。不能用作任何表达式中的左操作数。因此,不能将其保留在=表达式的左侧。
但是,如果要将字符串kova复制到数组sweet[],可以这样使用strcpy()

strcpy(sweet,"kova");

07-24 16:57