问题 单项选择题

下列对字符数组进行初始化的语句中,正确的是( )。

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这一点,造成了数组的越界。

单项选择题
单项选择题