全部问题 > 当前问题

为什么x[0]是‘\0‘


越琳琳 2017-9-20 21:29:48

共 1 个回答

向往天空 2017-9-20 23:16:43

x[0]=0与x[0]='\0'等价关系

问题来自: 字符串函数
有以下程序
#include <stdio.h>
#include <string.h>
main()
{
  char x[]="STRING";
  x[0]=0;x[1]='\0';x[2]='0';
  printf("%d %d\n",sizeof(x),strlen(x));
}
程序运行后的输出结果是 ______ 。
A. 6 1
B. 7 0
C. 6 3
D. 7 1
答案:B
解析:sizeof是取数组大小,定义时6个字母加一个'\0',大小为7字节。经过赋值之后,x[0]即'\0',因此strlen为0。因此选B。