问题详情

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


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

时间:2021-12-31 23:19 关键词:

答案解析

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