C語言中scanf()和用gets()接收字串的區別

來源:酷知科普網 2.54W

初學者在編寫C語言程式碼時,時常會困惑用scanf()和gets()接收字元串的區別。gets()的功能完全可以用scanf()來實現,都用scanf()不行嗎?

操作方法

(01)區別1:scanf()可以同時接受多個字串,而gets()一次只能接受一個字串。

C語言中scanf()和用gets()接收字串的區別

(02)區別2:scanf()可以不能接受帶空格的字串,而gets()能接受帶空格的字串。

C語言中scanf()和用gets()接收字串的區別 第2張
C語言中scanf()和用gets()接收字串的區別 第3張
C語言中scanf()和用gets()接收字串的區別 第4張
C語言中scanf()和用gets()接收字串的區別 第5張

(03)區別3:scanf()不能接受長度為0的字串,會自動忽略開頭的所有空格,並且以空格、換行符、回車結束輸入。而gets()能接受長度為0的字串,不會自動忽略開頭的所有空格或回車,並以回車結束。

C語言中scanf()和用gets()接收字串的區別 第6張
C語言中scanf()和用gets()接收字串的區別 第7張
熱門標籤