A-A+
有以下程序 main () { char a[ ]={'a' 'b' 'c' 'd' '
问题详情
有以下程序 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正确。