问题
单项选择题
有以下程序: 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符合题意。