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