下列数组的定义中,会产生错误的是

17 查阅

下列数组的定义中,会产生错误的是

A.int a[]={'0','1','2','3','4','5','6');

B.int a[10]={0,1,2,3,4,5,6};

C.char a[5]="hello";

D.char a[5]={'h','e','r','l','o'};

参考答案:

C解析:本题考核数组的定义和初始化。下面逐项进行分析:A选项中,数组a的定义和初始化符号数组的定义和初始化语法,故正确;B选项中,数组a初始化的值虽然没有10个,但对于少的部分,系统会自动补0,所以B选项中数组的定义也是正确;C选项中,数组a的长度为5,但字符串"hello"的长度为5+1=6,字符串结束符'\0'无法存储在数组中,所以是错误的;D选项中,数组a的定义是正确的。

计算机二级