char x[]="string"; x[0]=0;x[1]='\0';x[2]='0'; printf("%d%d\n",sizeof(x),strlen(x));输出为什么是70

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 18:41:39
charx[]="string";x[0]=0;x[1]=''\0'';x[2]=''0'';printf("%d%d\n",sizeof(x),strlen(x));输出为什么是70charx[]="str

char x[]="string"; x[0]=0;x[1]='\0';x[2]='0'; printf("%d%d\n",sizeof(x),strlen(x));输出为什么是70
char x[]="string"; x[0]=0;x[1]='\0';x[2]='0'; printf("%d%d\n",sizeof(x),strlen(x));输出为什么是70

char x[]="string"; x[0]=0;x[1]='\0';x[2]='0'; printf("%d%d\n",sizeof(x),strlen(x));输出为什么是70
sizeof(x), 是计算x占多少内存.char x[]="string" 有6个字符外加一个看不见的字符串结束符,共7个.
x[0]=0; ASCII 码 0 就是null, 就是字符串结束符.strlen(x) 返回字符串长度,长度是不计入字符串结束符的,所以得0.
printf("%d%d --- 是70. sizeof(x) 返回7,strlen(x) 返回0