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);
输出结果为:

 

  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'.所以再命名的时候,应该采用省略数组大小。

 

 

posted on 2011-10-14 13:32  wtq  阅读(271)  评论(0编辑  收藏  举报