有以下程序main(){ char a[]={ ′a′, ′b′, ′c′,′d′, ′\0′, ′f′, ′g′,′h′,′\0′}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\b",i,j);}程序运行后的输出结果是A.9,4 B.8,4 C.1,8 D.9,8
- A9,4
- B8,4
- C1,8
- D9,8
有以下程序main(){ char a[]={ ′a′, ′b′, ′c′,′d′, ′\0′, ′f′, ′g′,′h′,′\0′}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\b",i,j);}程序运行后的输出结果是A.9,4 B.8,4 C.1,8 D.9,8
sizeof是求字节运算符,在字符数组a中,′\0′也作为字节保存,是a数组的一个成员,所以sizeof(a)的值应为9,strlen是测试字符串长度的函数,它碰到字符串结束标识′\0′结束,因此在碰到第一个′\0′时结束,strlen(a)的值为4。