首頁 >常見問題 >gets和scanf有什麼區別

gets和scanf有什麼區別

不言
不言原創
2019-02-22 16:25:3536689瀏覽

gets和scanf有什麼區別

gets和scanf都是可以在C語言中用來讀取字串的,但是它們其實也有很大的不同,本篇文章我們就來看gets和scanf之間有什麼區別。

gets和scanf的區別

1、gets可以接收空格;而scanf遇到空格、回車和Tab鍵都會認為輸入結束,所有它不能接收空格。

例如:如果輸入為"hello world"時,上面程式的運行結果是"hello world"。而如果用scanf則只能輸出hello

2、scanf對結尾回車符的處理:把回車符號保留在快取中。 gets對末端回車符的處理:接收回車,但把回車替換為\0.

3、gets的回傳值為char*型,當讀入成功時會傳回輸入的字串指標位址,出錯時傳回NULL;scanf傳回值為int型,傳回實際成功賦值的變數個數,當遇到檔案結尾標識時傳回EOF。

4、gets函數只用於讀入字串;scanf為格式化輸出函數,可以讀入任意C語言基礎類型的變數值,而不是僅限於字串(char*)類型。

以上是gets和scanf有什麼區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn