动手用代码在巩固一下字符串内容。
数组
# include <stdio.h> # include <string.h> int main(void) { char str[5]={'a','b','c','d','a'}; printf("%s\n",str); char str1[5]={'a','b','c','d','\0'}; printf("%s\n",str1); char str2[5]={'a','b','c','d'}; printf("%s\n",str2); //char str3[5]="abcde"; //printf("%s\n",str3); /* error C2117: 'abcde' : array bounds overflow 说明数组溢出了,由于在最后系统还要添加一个“\0” */ char str3[5]="abcd"; printf("%s\n",str3); char str4[]="abcd"; printf("%s\n",str4); char * str5="abcde"; return 0; } /* VC++6.0中输出的结果: ===================== abcda烫虉. abcd abcd abcd abcd ===================== 结论: 第一种写法是错误的 str是一个数组,而不是一个字符串 字符串的最后必须是“\0”结尾 第二种由于最后一个“\0”,因此它是一个字符串 第三种,若是赋值的初值不足,系统会自动在后面加“\0” 第四种,赋初值的时候正好少了一个元素,系统加上“\0” 第五种,系统会自动计算字符的个数,来肯定数组的长度。 */
学PHP的小蚂蚁 博客 http://my.oschina.net/woshixiaomayi/blogspa