A-A+
有以下程序: #include <stdio.h> #include <string.h>
问题详情
有以下程序: #include <stdio.h> #include <string.h> main() { char a[]={"a","b","c","d","e","f","g","h",""}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%dn",i,j); } 程序运行后的输出结果是()。
A.9,9
B.8,9
C.1,8
D.9,8请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
解析:sizeof是求字节运算符,在字符数组a中,“\0”也作为字节保存,是a数组的一个成员,所以sizeof(a)的值应为9;strlen是测试字符串长度的函数,函数的值为字符串中的实际长度,不包括“\0”在内,所以strlen(a)的值为8。