#include <stdio.h> #include <stdlib.h> int main(int agrc,char*agrv[]) { char str[]= {'a','b','\0','c'}; char str1[4]="study"; char str2[5]="study"; char str3[6]="study"; char str4[7]="study"; int n1=sizeof(str1)/sizeof(char);//求字符串长度 int n2=sizeof(str2)/sizeof(char); int n3=sizeof(str3)/sizeof(char); int n4=sizeof(str4)/sizeof(char); printf("%s %d %s %d %s %d %s %d\n",str1,n1,str2,n2,str3,n3,str4,n4); /*编译运行结果分别为:studab 4 studystudab 5 study 6 study 7. 其中编译运行str2的结果是因为读取了str1的数据,直到找到'\0', 如果单独编译运行的话,结果为studyab 5*/ return 0; } #include <stdio.h> #include <stdlib.h> int main(int agrc,char*agrv[]) { char str[]= {'a','b','\0','c'}; char str1[4]="study"; char str2[5]="study"; char str3[6]="study"; char str4[7]="study"; int n1=strlen(str1);//求字符串长度的函数 int n2=strlen(str2); int n3=strlen(str3); int n4=strlen(str4); printf("%s %d %s %d %s %d %s %d\n",str1,n1,str2,n2,str3,n3,str4,n4); /*编译运行结果分别为:studab 6 studystudab 11 study 5 study 5. 其中编译运行str2的结果是因为读取了str1的数据,直到找到'\0', 如果单独编译运行的话,结果为studyab 7*/ return 0; }