c語言字符串的結束標誌

字符串的創建方式

  1. char str[] = "abc";
  2. char str1[] = {'a','b','c'};

    字符串創建方式的區別。

    c語言的字符串在尾部有個隱藏的結束標誌:'\0'。這個標誌在ASCII碼裏的值是:0。\0只是結束標誌,不算是字符串的內容。
    第1個創建方式在:printf("%s\n",str);和printf("%d\n",strlen(str));都不會出現問題,正常會分別輸出abc和3。
    注:%s是用來輸出一個字符串。strlen是測量字符串的長度的。


第2個創建方式在printf("%s\n",str1);和printf("%d\n",strlen(str1));時會出現問題。因爲第二個創建方式在賦值時沒有給它一個結束標誌,它不像1一樣會有個默認的結束標誌。在這裏,會分別輸出亂碼和不能確定的長度。
解決:char str1[] = {'a','b','c',0};或char str1[] = {'a','b','c','\0'};就行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章