C語言中gets()和scanf()的區別

在C語言中,scanf()函數和gets()函數都可用於輸入字符串,但是也有很多區別。

主要區別如下:

  1. gets()的輸入分隔符只有回車,因此gets能夠讀入空格。如果使用gets()輸入"Hello World",運行之後的結果是"Hello World",但是使用scanf()輸入只能輸出"Hello"。
  2. scanf()和gets()對待緩衝區的回車符也是完全不同的。scanf()在讀取非空白符之前會忽略回車,讀取之後如果遇到空白字符會停止輸入,將其留在緩衝區裏。gets()只要一遇到回車就輸入結束,並把這個回車從緩衝區裏移走。
  3. gets()可以讀取空回車,但是scanf不能。

轉載自:https://blog.csdn.net/qq_42820594/article/details/82714251

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