A-A+

有以下程序 main () { char a [] = abcdefg b [10]

2022-08-06 04:14:30 问答库 阅读 175 次

问题详情

有以下程序 main () { char a [] = "abcdefg", b [10] ="abcdefg"; printf ("%d %dn" ,sizeof (a) ,sizeof (b)); } 执行后输出结果是
A.7 7
B.8 8
C.8 10
D.10 10请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
解析:本题考核的知识点是字符数组的定义、赋初值以及函数sizeof()的应用。本题中定义两个字符型数组,其中a省略了长度,定义了b的长度为10,并赋初值分别为“abcdefg”和“abcdfg”。所以a的长度为赋值给它的字符串的字符个数7加上一个结束转义字符,即a的长度为7+1为8.定义时b的长度定义为10,故b的长度为10,因此最后通过函数sizeof()求得的数组a和数组b的长度分别为8和10,所以,4个选项中选项C符合题意。

考点:程序