您現在的位置是:首頁 >綜合 > 2023-08-19 17:20:10 來源:
getchar的用法舉例初學(getchar的用法)
大家好,我是小夏,我來為大家解答以上問題。getchar的用法舉例初學,getchar的用法很多人還不知道,現在讓我們一起來看看吧!
當程序調用getchar時,程序就等著用戶按鍵。用戶輸入的字符被存放在鍵盤緩沖區中。直到用戶按回車為止。當用戶鍵入回車之后,getchar才開始從stdin流中每次讀入一個字符。
getchar函數的返回值是用戶輸入的字符的ASCII碼,若文件結尾則返回-1(EOF),且將用戶輸入的字符回顯到屏幕。如用戶在按回車之前輸入了不止一個字符,其他字符會保留在鍵盤緩存區中,等待后續getchar調用讀取。
也就是說,后續的getchar調用不會等待用戶按鍵,而直接讀取緩沖區中的字符,直到緩沖區中的字符讀完后,才等待用戶按鍵。
擴展資料 :
1、getchar
getchar由宏實現:#define getchar() getc(stdin)。getchar有一個int型的返回值。當程序調用getchar時.程序就等著用戶按鍵。用戶輸入的字符被存放在鍵盤緩沖區中。直到用戶按回車為止(回車字符也放在緩沖區中)。
當用戶鍵入回車之后,getchar才開始從stdio流中每次讀入一個字符。getchar函數的返回值是用戶輸入的字符的ASCII碼,若文件結尾(End-Of-File)則返回-1(EOF),且將用戶輸入的字符回顯到屏幕。
如用戶在按回車之前輸入了不止一個字符,其他字符會保留在鍵盤緩存區中,等待后續getchar調用讀取。也就是說,后續的getchar調用不會等待用戶按鍵,而直接讀取緩沖區中的字符,直到緩沖區中的字符讀完后,才等待用戶按鍵。
2、getch
getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待用戶按回車,只要用戶按一個鍵,getch就立刻返回,getch返回值是用戶輸入的ASCⅡ碼,出錯返回-1。
輸入的字符不會回顯在屏幕上.getch函數常用于程序調試中,在調試時,在關鍵位置顯示有關的結果以待查看,然后用getch函數暫停程序運行,當按任意鍵后程序繼續運行。
這個版本忽略了個重點,getch()是非緩沖輸入函數,就是不能用getch()來接受緩沖區已存在的字符,如以下C++程序段,運行時如果輸入1 2 3 a時必須用getchar()才能在后面程序獲得正常輸入,即使先前已經恢復流了,此處用getch()是萬萬不行的。
3、getche
這個函數與前兩上類似,功能也相近,都是輸入一個字符,返回值同樣是輸入字符的ASCII碼,但不同的是,此函數在輸入后立即從控制臺取字符,不以回車為結束(帶回顯)。
參考資料來源:搜狗百科-getchar()
本文到此講解完畢了,希望對大家有幫助。