求解C語言中getchar和getch有什麼區別

時間 2021-10-15 00:24:30

1樓:匿名使用者

getchar有一個int型的返回值.當程式呼叫getchar時.程式就等著使用者按鍵.

使用者輸入的字元被存放在鍵盤緩衝區中.直到使用者按回車為止(回車字元也放在緩衝區中).getchar函式的返回值是使用者輸入的第一個字元的ascii碼,如出錯返回-1,且將使用者輸入的字元回顯到螢幕.

如使用者在按回車之前輸入了不止一個字元,其他字元會保留在鍵盤快取區中,等待後續getchar呼叫讀取.也就是說,後續的getchar呼叫不會等待使用者按鍵,而直接讀取緩衝區中的字元,直到緩衝區中的字元讀完為後,才等待使用者按鍵.

getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待使用者按回車,只要使用者按一個鍵,getch就立刻返回,getch返回值是使用者輸入的ascii碼,出錯返回-1.輸入的字元不會回顯在螢幕上.getch函式常用於程式除錯中,在除錯時,在關鍵位置顯示有關的結果以待檢視,然後用getch函式暫停程式執行,當按任意鍵後程式繼續執行.

簡單的說,getch()是讀取按鍵值常放在程式末尾起暫停作用而getchar()是從標準輸入裝置讀取下一個字元~~所讀字元若檔案結束或出錯則返回-1

2樓:匿名使用者

都是寫如字元的意思,後面的標頭檔案是用來呼叫函式的

3樓:匿名使用者

getchar() 函式從鍵盤輸入完一個字元後,要按回車才起作用;而 getch() 是從鍵盤輸入完一個字元後,不用按回車馬上就起作用,並且是不回顯在顯示器上的。例如:你編寫輸入密碼的程式就必須要用 getch() 函式。

另外,getche() 函式是輸入完一個字元後,不用按回車馬上就起作用,並且是回顯在顯示器上的。這一點和 getch() 函式不一樣。 conio.

h 是控制檯輸入輸出函式的標頭檔案,從名稱即可知道:console input output

c語言的getchar函式

他每次只讀取一個字元 因為你使用了while迴圈,所以當你輸入的再多都是放在 快取衝區 他每次都從緩衝區只讀取一個字元 而不是他只輸入一個字元 這個表示的不是asc2碼,但是asc2碼裡面也有表示這個符號的碼,好像是10.後面的可以改為eof也是一樣的,也行的。一個一個讀的啊,讀到回車就停了,然後輸...

c語言中fd的區別,C語言中 d和 f還有 c有什麼區別

表示輸出型別的格式字元格式字元意義 c 輸出單個字元,引數為該字元的ascii碼。d 以十進位制形式輸出帶符號整數 正數不輸出符號 e e 以指數形式輸出單 雙精度實數,預設6位小數。f 以小數形式輸出單 雙精度實數,預設6位小數。g g 以 f e中較短的輸出寬度輸出單 雙精度實數,如果指數小於 ...

C語言中形參與實參怎麼傳遞,c語言中形參和實參的區別?

我簡單描述一下 c語言傳遞引數機構是這樣的 非指標類的資料傳遞引數時傳數值,指標類資料傳遞引數時傳地址 這裡陣列名也算指標 比如int max int a,int b 這時候如果呼叫這個函式max x1,x2 僅僅將x1和x2的數值傳遞給函式max,a與x1佔有不同的記憶體區域 int max in...