第1个回答 2011-03-21
sizeof(x)
指的是占得空间,指的是数组的长度,数组有六个字符,其实储存在数组中时,最后一位是'\0',真实的长度就是6+1了;所以是7.
对于strlen(x);你把X[0]赋了0,应该就是相当于'\0'。
#include<stdio.h>
#include<string.h>
int main()
{
char x[7];
x[0]=0;
x[1]='\0';
x[2]='0';
printf("%d %d\n",sizeof(x),strlen(x));
}
结果同样是7 0,
这说明你是对的:就是后面那个x[0]=0,就相当于'\0'。本回答被提问者采纳