问题
单项选择题
下列对字符数组进行初始化的语句中,正确的是( )。
A.char a[]="Hello";
B.chara[][]={'H','e','1','1','0'};
C.char a[5]="Hello";
D.char a[2][5]={"Hello","World"};
答案
参考答案:A
解析: 本题考查对字符数组的初始化。 选项A中,数组a在定义后紧跟初始化的情况下可省略数组长度,其最终数组长度由所赋字符串常量的长度给定。选项A是正确。 选项B中,a是一个二维数组,二维数组也能在定义时被初始化。如果对全部元素都赋初值,则定义数组时第一维的大小可以忽略,但第二维的大小不能省略。故选项B是错误。 选项C和选项D都忽略了字符串的大小要比字符串中的字符数多1这一点,造成了数组的越界。