问题 单项选择题

已有定义: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。

单项选择题
单项选择题