C语言sizeof("\0") strlen("\0")

在32位编译系统中,字符型变量占1个字节,则sizeof("\0") 、strlen("\0")分别为()
A.1 2 B.2 1 C.2 0 D. 2 2
求大侠详细解释

1 #include<stdio.h>
2 #include<string.h>
3
4 int main()
5 {
6 printf("%d\n",sizeof("\0"));
7 printf("%d\n",strlen("\0"));
8
9 }
运行结果:

[root@squidx ~]# ./a.out
2
0
1 sizeof计算的字符的字节数,同时还要加上最后面的'\0' 就相当于两个'\0',所以为2
2 strlen 计算的字符个数,遇见‘\0'就停止查找,直接返回'\0'之前的字符个数,所以为0
温馨提示:答案为网友推荐,仅供参考
相似回答