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是測量字符串的長度的。ide


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

相關文章
相關標籤/搜索