有以下程序main () {char a [] = abcdefg b [10] =abcdefg;printf (\%d%d\n sizeof (a)

计算机 程序, 已帮助 人

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

A.7 7

B.8 8

C.8 10

D.10 10

请帮忙给出正确答案和分析,谢谢!

热搜:以下不属于个人消费贷款的是A

答案解析

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