设已有说明:char c1[10],c2[10]; 下面程序片段是合法的。c1={“book”}; c2=c1;
时间: 2024-03-14 09:48:13 浏览: 142
这个程序片段是不合法的。
在 C 语言中,数组名是数组首元素的地址,不能将数组整体赋值给另一个数组。因此,`c1={“book”}` 这条语句是错误的,应该使用字符串拷贝函数 `strcpy()` 或者字符数组的遍历方式进行逐个赋值。正确的写法可以是:
```
strcpy(c1, "book");
```
而 `c2=c1` 这条语句也是错误的,因为它试图将一个字符数组的地址直接赋值给另一个字符数组,这是不允许的。如果要将一个字符数组的内容复制到另一个字符数组中,可以使用字符串拷贝函数 `strcpy()`,正确的写法可以是:
```
strcpy(c2, c1);
```
阅读全文