在C語言中,有兩個函數可以讓用戶從鍵盤上輸入字元串,它們分別是:
scanf():透過格式控制符%s輸入字元串。除了字元串,scanf() 還能輸入其他類型的數據。
gets():直接輸入字元串,並且只能輸入字元串。
但是,scanf() 和 gets() 是有區別的:
scanf() 讀取字元串時以空格爲分隔,遇到空格就認爲當前字元串結束了,所以無法讀取含有空格的字元串。
gets() 認爲空格也是字元串的一部分,只有遇到回車鍵時才認爲字元串輸入結束,所以,不管輸入了多少個空格,只要不按下回車鍵,對 gets() 來說就是一個完整的字元串。換句話說,gets() 用來讀取一整行字元串。
請看下面的例子:
執行結果:
第一次輸入的字元串被 gets() 全部讀取,並存入 str1 中。第二次輸入的字元串,前半部分被第一個 scanf() 讀取並存入 str2 中,後半部分被第二個 scanf() 讀取並存入 str3 中。
以上呢就是小編給大家提供的輸入字元串的方法了,有兩種方法哦,但是這兩種方法也是有區別的,大家可以根據自己需要來進行選擇。