C语言 下列四种数组的定义,合法的数组定义是_________

A。char a[ ]="hello";
B。int a[4]={4,3,2,1,0};
C. char a="hello";
D。char a[4]="hello";
答案是A,其它的都错哪里了呢?

我来给你解释一下吧:

(B)定义的数组a为4个元素,可是初始化的时候指定了5个数字,因此超出了数组范围;
(C)只是定义了一个字符型变量a而已,定义的不是数组;
(D)定义的数组a为4个元素,初始化指定的字符串长度为6,超出了数组范围,错误与(B)同。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-15
答案是A.
A:正确,生命了一个字符数组,内容是"hello"
B:错误,声明是定义了4个int类型的变量,但是初始化的是5个,所以会导致出错;
C:错误,声明是char,而不是char 数组;
D:错误,声明是长度4的数组,但是"hello"是长度5的.本回答被提问者采纳
第2个回答  2013-01-15
对于B,有定义了数组a的长度为4,所以后面赋值给了5个值,会溢出;
对于C,定义的a为char类型,只能读入一个字符,不能赋值为"hello";
对于D,"hello"是五个字符的,不能赋值给一个长度为4的char数组。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网