Tar*_*er5 0 c arrays initialization assignment-operator
我试过这样做但是出错了.为什么我不能这样做?
int main()
{
char sweet[5];
sweet = "kova";
printf("My favorite sweet is %s\n", sweet);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
不,你不能.仅仅因为数组名称是不可修改的l值.在任何表达式中都不能用作左操作数.因此,您不能将其保留在=
表达式的左侧.
但是,如果要将字符串复制kova
到数组sweet[]
,可以strcpy()
像这样使用.
strcpy(sweet,"kova");
Run Code Online (Sandbox Code Playgroud)
您应该使用strcpy进行复制.仅在定义数组时允许初始化
int main()
{
char sweet[5];
strcpy(sweet,"kova");
printf("My favorite sweet is %s\n", sweet);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
或者你可以做到这一点
char sweet[] = "kova";
Run Code Online (Sandbox Code Playgroud)