下述对c语言字符数组的描述中错误的是?

下述对C语言字符数组的描述中错误的是( )
A.字符数组可以存放字符串
B.字符数组的字符串可以整体输入,输出
C.可以在赋值语句中通过赋值运算符"="对字符组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
答案是C,
可是书上 char c[] = "I am happpy" 都可以啊,那C为什么错啊???

char str[20]; str=“I love China!”; (错误)
char str[20]=“I love China!”; (正确)
因为str地址是常量
而 char *cp; cp=“I love China!”; (正确)
因为cp的地址是变量

你说的这个char c[] = "I am happpy"是初始化,不是赋值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-30
字符数组不能直接赋值的,书上的是定义,不一样的,赋值应该用strcpy()函数
第2个回答  2013-01-30
char a[],b[];
a=b //不正确,这才是赋值
第3个回答  2013-01-30
赋值和初始化是不一样的
相似回答