C语言getchar getche getch函数比较

getchar getche getch函数比较教程

C 语言 我们要读取一个 字符 可以使用 scanf 函数、getchar 函数、 getch 函数和 getche 函数。

getchar getche getch区别

getchar

输入完成之后,需要使用回车做为结束,并且,输入的字符会回显在控制台上。

getche

输入完成之后,不需要使用回车做为结束,并且,输入的字符会回显在控制台上。

getch

输入完成之后,不需要使用回车做为结束,并且,输入的字符不会回显在控制台上。

案例

getchar getche getch读取字符对比

getchar getche getch读取字符区别

#include <stdio.h> #include <conio.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); // 使用 getchar 函数,读取单个字符 char resChar; printf("请输入单个字符: "); resChar = getchar(); printf("ResChar = %c\n", resChar); return 0; }

程序运行后,控制台输出如下:

05_C语言读取字符getchar getche getch区别.png

我们首先,定义了一个字符 变量 resChar,接着,我们使用了 getchar 让用户输入字符,并将输入的字符赋值给变量 resChar,最后,我们使用 printf 打印输入的字符。

我们可以看到,我们输入了字符后,没有按下回车,那么就可以一直输入,直到按下回车才算输入结束,并且,我们输入了什么,控制台就会显示什么,现在,我们将程序修改成使用 getche 输入,修改如下:

#include <stdio.h> #include <conio.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); // 使用 getch 函数,读取单个字符 char resChe; printf("请输入单个字符: "); resChe = getche(); printf("ResChe = %c\n", resChe); return 0; }

程序运行后,控制台输出如下:

06_C语言读取字符getchar getche getch区别.png

我们可以看到,我们输入了字符后,没有按下回车,程序就自动结束,并且,我们输入了什么,控制台就会显示什么,现在,我们将程序修改成使用 getch 输入,修改如下:

#include <stdio.h> #include <conio.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); // 使用 getch 函数,读取单个字符 char resCh; printf("请输入单个字符: "); resCh = getch(); printf("ResCh = %c\n", resCh); return 0; }

程序运行后,控制台输出如下:

07_C语言读取字符getchar getche getch区别.png

此时,我们可以看到,我们输入了一个字符 ‘H’ 之后,程序立刻就结束了,并不需要使用回车结束,并且我们输入的字符并没有显示出来。

C语言getchar getche getch函数比较总结

getchar 函数,输入完成之后,需要使用回车做为结束,并且,输入的字符会回显在控制台上。

getche 函数,输入完成之后,不需要使用回车做为结束,并且,输入的字符会回显在控制台上。

getch 函数,输入完成之后,不需要使用回车做为结束,并且,输入的字符不会回显在控制台上。