A-A+

有以下程序 main () { char a[7]=a0a0; int i j; i=s

2022-08-06 04:21:02 问答库 阅读 175 次

问题详情

有以下程序 main () { char a[7]="a0a0"; int i,j; i=sizeof(a); j=strlen(a); printf (" %d %dn",i, j); } 程序运行后的输出结果是
A.2 2
B.7 6
C.7 2
D.6 2请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
解析:本题主要考查的是C语言中的数组长度和字符串长度。数组长度指的是一个数组所占内存空间的字节数,数组长度可以通过sizeof(<数组名>)来求得;字符串长度是指从指定内存地址开始直到碰到第一个'\0'字符为止所经过的字符数(不包括'\0'字符),字符串长度可以通过字符串函数strlen(<字符串首地址值>)来求得。所以本题程序运行后,变量i中是数组a的长度7,变量j中是数组a中第一个'\0'字符之前的字符数2:选项C符合题意。

考点:程序