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

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/10 19:32:59
char x[]=
xQKQW s}uhBtQ=Xj -jtRCX)(54i?fw;/4bwOy͌O GD EB&N*G"~g9m#B@Td.sŠ@3ɳI¥)V "lMp9OrʨIwnL˫|MfAT4(S-\_Q +k:pz3f%9o_|BL0%.?dw/$f+O(]>j6b|`ܣs36M!59>´lKIx

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