问题
单项选择题
已有定义:char a[]="xyz", b[]='x', 'y', 'z'; ,以下叙述中正确的是( )。
A) 数组a和b的长度相同
B) a数组长度小于b数组长度
C) a数组长度大于b数组长度
D) 以上说法都不对
答案
参考答案:C
解析: 本题考查的是字符型一维数组的初始化。对字符型一维数组在定义时初始化,既可以使用初始化列表,也可以使用字符串常量。不过由于字符串常量会自动在结尾添加'\0'字符做结束标志,所以用字符串常量的初始化列表项个数是字符串的长度加1。因此题目中的char a[]="xyz"; 等价于chara[]={'x', 'y', 'z', '\0'); ,所以a数组长度大于b数组长度,应该选C)。