C語言字串

weixin_34292287發表於2018-09-07

字串

  • 將字串到一起就叫字串

  • 特殊性:如果用陣列來表示字串,那麼陣列必須是char型別,並且最後一個元素為\0

  • C語言除了可以用字元陣列表示字串,還可以用" "表示字串

  • 觀察一下三段程式碼的區別

char str1[] = {'x','x','z','\0'};
char str2[] = {'x','x','z'};
char shr3[10] = {'x','x','z'};
  • 解釋:
    第一段程式碼表示字串
    第二段程式碼表示字元陣列
    注意:第三段程式碼表示字串,未定義的元素賦值為0,由於是char型別儲存,而'\0'的ASCII碼為0,所以第三段程式碼代表的是字串

  • 字串定義

char str[] = "xxz";//底層實現就是char str[] = {'x','x','z','\0'};

字串的輸入和輸出

  • 字串輸出
printf("str = %s",str);//按%s列印的時候會從第0個元素開始列印,遇到\0為止
puts(str);
  • printf和puts的區別
    1.printf可以新增自定義內容,puts不能新增自定義內容
    2.printf如果沒有\n不會自動換行,puts可以自動換行

  • 字串輸入
scanf("%s", &str);
gets(str);
  • scanf和gets的區別
    1.scanf接收字串的時候中間不能有空格/TAB/回車,系統會將這三個字元預設為輸入完成
    gets接收字串可以輸入空格/TAB

字串陣列

  • 由於字串是一個陣列,所以字串陣列就是一個二維陣列
char str[] = {"abc", "lnj", "def"};

相關文章