char x[]="string"; x[0]=0;x[1]='\0';x[2]='0'; printf("%d%d\n",sizeof(x),strlen(x));输出为什么是70
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/24 11:38:05
![char x[]=](/uploads/image/z/10066056-24-6.jpg?t=char+x%5B%5D%3D%22string%22%3B+x%5B0%5D%3D0%3Bx%5B1%5D%3D%27%5C0%27%3Bx%5B2%5D%3D%270%27%3B+printf%28%22%25d%25d%5Cn%22%2Csizeof%28x%29%2Cstrlen%28x%29%29%3B%E8%BE%93%E5%87%BA%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF70)
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