老师 x[o]=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。