问题 单项选择题

已有定义:char a[]="xyz",b[]='x','y','z';,以下叙述中正确的是( )。

A.数组a和b的长度相同

B.a数组长度小于b数组长度

C.a数组长度大于b数组长度

D.以述说法都不对

答案

参考答案:C

解析: 本题考查的是字符型一维数组的初始化。对字符型一维数组在定义时初始化,既可以使用初始化列表,也可以使用字符串常量。不过由于字符串常量会自动在结尾添加'\0'字符做结束标志,所以用字符串常量的初始化列表项个数是字符串的长度加1。因此题目中的char a[]="xyz";等价于char a[]=['x','y','z','\0'];,所以a数组长度大于b数组长度,应该选C)。

填空题
判断题