A-A+

有以下程序 main () { char a[ ]={'a' 'b' 'c' 'd' '

2022-08-06 05:30:33 问答库 阅读 176 次

问题详情

有以下程序 main () { char a[ ]={"a","b", "c","d", "e","f","g","h",""}; int i,j; i=sizeof (a); j=strlen(a); print f (" %d, %dn" i, j ); } 程序运行后的输出结果是
A.9,9
B.8,9
C.1,8
D.9,8请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:D
解析:本题中首先定义了字符数组a,由于它的长度省略,所以其长度由初值个数确定,为9。接着将sizeof()函数返回的值赋给i(SIZeof()函数的作用是返回运算对象占用的字符数),所以i值为9。然后将strlen()函数的返回值赋给j(strlen()函数的作用是返回字符串的长度,不包括字符串的结束标记'\0'),所以j值为8,所以最后输出的i,j的值为9,8。所以4个选项中D正确。

考点:程序