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

admin2009-04-15  49

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

选项 A、7 7
B、8 8
C、8 10
D、10 10

答案4

解析 本题中定义两个字符型数组并都用字符串常量赋初值,其中a省略了长度,定义了b的长度为10。所以a的长度为赋值给它的字符串的字符个数7加上一个结束转义字符,即a的长度7+1为8。定义时b的长度定义为10,故b的长度为10,因此最后通过函数sizeof()求得的数组a和数组b的长度分别为8和10,所以,4个选项中选项C符合题意。
转载请注明原文地址:https://kaotiyun.com/show/6pXp777K
0

最新回复(0)