關於C語言中的getch(),getchar() getche()函數肯定十分困擾大家,今天將他們整理和大家一起分享.
1、getchar()
函數名:getchar()
頭文件:stdio.h
功 能:讀取控制台輸入的字符,並保存在鍵盤緩沖區中。直到用戶按回車為止(回車字符也放在緩沖區中)。
原 型:int getchar(void);
例如:
#include <stdio.h>
int main(void)
{
printf("%c\n", getchar());
return 0;
}
當輸入一個字符並按回車時,該字符被存入緩沖區中,printf函數再把緩沖區中的該字符輸出。如輸入輸出實例:
d
d
2、getch()
函數名:getch()
頭文件:conio.h
功 能:從控制台讀取一個字符,但不顯示在屏幕上(不帶回顯)。
原 型:int getch(void)
返回值:讀取的字符
例如:
#include <stdio.h>
#include <conio.h>
int main(void)
{
printf("%c\n", getch());
return 0;
}
輸入輸出實例:
d
輸入d,不會顯示d,當調用printf函數后才輸出d。控制台讀取一個字符,但不顯示在屏幕上(不帶回顯)。
3、getche()
函數名:getche()
頭文件:conio.h
功 能:輸入后立即從控制台取字符,不以回車為結束,且立刻顯示在屏幕上(帶回顯)。
用 法:int getche(void);
例如:
#include
#include <conio.h>
int main(void)
{
printf("%c\n", getche());
return 0;
}
該函數的輸入輸出示例:
dd
也就是說,輸入d,直接就輸出d,不需要按回車鍵,即該函數不帶緩沖區,且輸入有回顯。回顯的意思就是在控制台顯示輸入的字符。
注意: getch()和getche()函數
這兩個函數都是從鍵盤上讀入一個字符。其調用格式為:
getch();
getche();
兩者的區別是: getch()函數不將讀入的字符回顯在顯示屏幕上, 而getche()函數卻將讀入的字符回顯到顯示屏幕上。利用回顯和不回顯的特點, 這兩個函數經常用於交互輸入的過程中完成暫停等功能。

總結
相同點:
1.都不需要參數;
2.功能一致:從輸入設備獲取一個字符並返回這個字符;
不同點:
1.getchar()先將輸入的字符保存在緩沖區,然后再從緩沖區讀取這個字符,是間接讀取;
2.getche()和getch()不需要將輸入的字符保存在緩沖區,而是即輸即取,也就是說,一輸入一個字符,它立即直接讀取;
3.直觀一些:
#include <stdio.h>
main()
{
int a,b,c;
a=getchar();
b=getche();
c=getch();
}
1.執行到getchar()函數時,光標閃動,等待輸入字符:輸入字符后無變化,需要按回車鍵, 按回車鍵后,getchar讀取了這個字符,並將其賦值給變量a。
2.執行到getche()函數時,光標閃動,等待輸入字符:輸入字符后,不需按回車鍵,在輸入后,getche立即讀入並賦值給b。
3.執行到getch()函數時,光標閃動,等待輸入字符:輸入字符,並不能看到你輸入的字符,屏幕仍是; 但在輸入后瞬間,getch()函數就讀取並賦值給了c。
以上就是getchar()、getche()、getch()的區別,如有錯誤歡迎指出!

如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!
【C語言C++學習企鵝圈子】,分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍:

編程學習視頻:
