问题 单项选择题

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

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','1','1','o';

答案

参考答案:C

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

单项选择题
单项选择题