c语言 字符串数组的应用
1,字符数组中的特殊字符‘、'\0'的作用
char a[10] = {'i',' ','a','m',' ','c','h','i','n','a'};
char b[]="i am china";
printf("%d\n",strlen(a));
printf("%d\n",strlen(b));
printf("%s\n",a);
printf("%s\n",b);
输出结果为:char b[]="i am china";
printf("%d\n",strlen(a));
printf("%d\n",strlen(b));
printf("%s\n",a);
printf("%s\n",b);
20
10
i am chinai am china
i am china
为什么a的长度会变成20呢?原因是,字符串都是 以'\0'结尾的而数组a的长度为10,字符串的长度也为10,所以a数组最后一个元素下一个内存单元的值不是'\0' 而是b数组中的第一个元素,知道碰到b数组中的'\0'才结束。
注意:若以上代码
char b[]="i am china";修改为:char b[10]="i am china";那么b[11]不一定是'\0'.所以再命名的时候,应该采用省略数组大小。