有以下程序: #include <stdio.h> main() { char a[]="abcdefg",b[10]="abcdefg"; printf("%d%d\n",sizeof(a),sizeof(b));

admin2013-06-11  18

问题 有以下程序:    #include  <stdio.h>    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

答案4

解析 用a[]="abcdefg"对数组a进行初始化,是用一个字符串作初值。数组a的长度包括由系统加上的’\0’,因此是8。b[10]="abcdefg"只初始化了前7个元素,后3个元素为 0(’\0’),所以长度为10。
转载请注明原文地址:https://kaotiyun.com/show/jNJp777K
0

最新回复(0)