在C語言中,scanf()函數和gets()函數都可用於輸入字符串,但是也有很多區別。
主要區別如下:
- gets()的輸入分隔符只有回車,因此gets能夠讀入空格。如果使用gets()輸入"Hello World",運行之後的結果是"Hello World",但是使用scanf()輸入只能輸出"Hello"。
- scanf()和gets()對待緩衝區的回車符也是完全不同的。scanf()在讀取非空白符之前會忽略回車,讀取之後如果遇到空白字符會停止輸入,將其留在緩衝區裏。gets()只要一遇到回車就輸入結束,並把這個回車從緩衝區裏移走。
- gets()可以讀取空回車,但是scanf不能。
轉載自:https://blog.csdn.net/qq_42820594/article/details/82714251