字串讀入問題 C語言

2021-08-04 00:12:26 字數 591 閱讀 4315

字串讀入3種形式 scanf gets getchar

scanf不可以讀入空格,讀入空格即可停止,算乙個字元陣列(不含空格),可以應用於2個句子間有很多空格,但2個句子本身沒有空格

gets可以讀入空格,可以讀入含有空格的句子的時候,

getchar是讀入乙個字元,可以讀入空格,經常用於處理讀掉空格。

例:n行m列的二維字元陣列的輸入與顯示  (為了方便n=2,m=2)

這時候可以發現問題,n=2但只輸入了乙個就結束了程式,這就是getchar讀入回車造成的結果,如果忽略了程式會出錯

C語言字串讀入函式筆記

gets str 函式和scanf s str 區別 二者都是從終端讀入字串。功能為 1 gets功能為讀入一行,並將換行符轉換為字串結束符。2 scanf s s 讀入時,遇到空白字元,包括空格,製表符,換行符時均會停止輸入。從功能上可以看出不同之處 1 終止條件不同。gets只有遇到 n時才會結...

C語言裡scanf讀入字串時的小問題

原來對於字元指標和字元陣列的區別很模糊 1 無意間嘗試用scanf讀入未初始化的字元指標報了段錯誤 char str1,str2 scanf s str1 scanf s str2 字元指標如果沒有像這樣 char str1 abcdef str1指向的是字串常量池的位址顯式地進行初始化 或者沒有用...

C 字串讀入函式(gets getline)

對於字串的讀入,我們有scanf和cin這兩個最為經典的函式,但是我們發現這兩個函式如果遇到空格或換行就結束了。可有時我們希望讀到空格時不要結束,讀到回車在結束。甚至有時我們希望連遇到空格也不結束,直到遇到乙個指定的字元時才結束本次讀入。而cstdio和iostream標頭檔案為了解決這個問題分別提...