C語言 scanf 和gets 函式的區別

2021-09-25 23:50:24 字數 418 閱讀 4057

c語言 scanf()和gets()函式的區別

gets()函式總結:

(1)gets() 從標準輸入裝置讀取字串,以回車結束讀取,使用』\0』結尾,回車符』\n』被捨棄沒有遺留在緩衝區。

(2)可以用來輸入帶空格的字串。

(3)可以無限讀取,不會判斷上限,因此使用gets不安全,可能會造成溢位

scanf()函式總結:

(1)scanf() 以空格或回車符結束讀取,空格或回車符會遺留在緩衝區。

(2)不能直接輸入帶空格的字串。

注意:scanf()函式如何才能輸入帶空格的字串,應使用:【具體**和輸出內容如下:】

scanf("%[^\n]", a); //%輸入字符集, [^\n]

表示除了』\n』之外的字元都接收,即可以接收空格,這個可以用來輸入帶空格的字串

C語言 gets()和scanf()函式的區別

scanf 函式和gets 函式都可用於輸入字串,但在功能上有區別。若想從鍵盤上輸入字串 hi hello 則應該使用 gets 函式。gets可以接收空格 而scanf遇到空格 回車和tab鍵都會認為輸入結束,所有它不能接收空格。char string 15 gets string 遇到回車認為輸...

C語言 gets()和scanf()函式的區別

scanf 函式和gets 函式都可用於輸入字串,但在功能上有區別。若想從鍵盤上輸入字串 hi hello 則應該使用 gets 函式。gets可以接收空格 而scanf遇到空格 回車和tab鍵都會認為輸入結束,所有它不能接收空格。char string 15 gets string 遇到回車認為輸...

C語言 gets()和scanf()函式的區別

scanf 函式和gets 函式都可用於輸入字串,但在功能上有區別。若想從鍵盤上輸入字串 hi hello 則應該使用 gets 函式。gets可以接收空格 而scanf遇到空格 回車和tab鍵都會認為輸入結束,所有它不能接收空格。char string 15 gets string 遇到回車認為輸...