c语言中gets函数可以输入空格吗_C语言中scanf()与gets()函数的区别,哪一个可以读入空格啊?...
展開全部
1.scanf不能接受空格、制表符Tab、回車等;對末尾回車符的處理:把回32313133353236313431303231363533e59b9ee7ad9431333431356634車符保留在緩存中。
gets能夠接受空格、制表符Tab和回車等;對末尾回車符的處理:接收回車,但把回車替換為\0。
2.scanf :當遇到回車,空格和tab鍵會自動在字符串后面添加'\0',但是回車,空格和tab鍵仍會留在輸入的緩沖區中。
gets:可接受回車鍵之前輸入的所有字符,并用'\n'替代 '\0'.回車鍵不會留在輸入緩沖區中
3.gets從標準輸入設備讀字符串函數,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。scanf()可以讀取所有類型的變量。
擴展資料:
注意問題
(1)在高版本的 Visual Studio 編譯器中,scanf 被認為是不安全的,被棄用,應當使用scanf_s代替 scanf。
(2) 對于字符串數組或字符串指針變量,由于數組名可以轉換為數組和指針變量名本身就是地址,因此使用scanf()函數時,不需要在它們前面加上"&"操作符。
(3) 可以在格式化字符串中的"%"各格式化規定符之間加入一個整數,表示任何讀操作中的最大位數。
(4) scanf函數中沒有類似printf的精度控制。
(5) scanf中要求給出變量地址,如給出變量名則會出錯
(6) 在輸入多個數值數據時,若格式控制串中沒有非格式字符作輸入數據之間的間隔,則可用空格,TAB或回車作間隔。
(7) 在輸入字符數據(%c)時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。
參考資料:
總結
以上是生活随笔為你收集整理的c语言中gets函数可以输入空格吗_C语言中scanf()与gets()函数的区别,哪一个可以读入空格啊?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python写接口自动化需要rsa加密_
- 下一篇: editplus行转列_EditPlus