動手用代碼在鞏固一下字符串內容。
數組
# 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