有以下程序: #include <stdio.h> #include <string.h> main() { char a[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’}; int i,j;

admin2009-01-15  18

问题 有以下程序:    #include  <stdio.h>    #include  <string.h>    main()    {  char a[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’}; int i,j;       i=sizeof(a); j=strlen(a);       printf("%d,%d\n",i,j);    }    程序运行后的输出结果是(    )。

选项 A、9,9
B、8,9
C、1,8
D、9,8

答案8

解析 sizeof是求字节运算符,在字符数组a中,“\0”也作为字节保存,是a数组的一个成员,所以sizeof(a)的值应为9;strlen是测试字符串长度的函数,函数的值为字符串中的实际长度,不包括“\0”在内,所以strlen(a)的值为8。
转载请注明原文地址:https://jikaoti.com/ti/INK0FFFM
0

随机试题
最新回复(0)