问题 单项选择题

有以下程序: main() { char a[]="abcdefg",b[10]="abedefg";printf("%d%d\n",sizeof(A) ,sizeof(B) ); } 执行后输出结果是( )。

A.7 7

B.8 8

C.8 10

D.10 10

答案

参考答案:C

解析: 本题中定义两个字符型数组,其中a省略了长度,定义了b的长度为10,并赋初值分别为“abcdefg”和“abcdefg”。所以a的长度为赋值给它的字符串的字符个数7加上一个结束转义字符,即a的长度为7+1为8。定义时b的长度定义为10,故b的长度为lo,因此最后通过函数sizeom求得的数组a和数组b的长度分别为8和10,所以,4个选项中选项c符合题意。

单项选择题
单项选择题