都是从键盘接收输入,为啥只知道 getchar() 呢,其实用的时候有更好的选择。
三个函数都是从键盘接收一个字符,根据下表不同的小区别,使用时选择不同的函数。
函数名 | 头文件 | 是否需要输入Enter | 是否屏幕回显 |
getchar | <stdio.h> | 是 | 是 |
getche | <conio.h> | 否 | 是 |
getch | <conio.h> | 否 | 否 |
若不需要输入Enter,用户输入字符后会立即接收该字符,并不会等待回车再完成输入。
getch() 比 getche() 函数少一个“e”,“e”是英文单词“echo”的缩写,意味着显示,根据有没有“e”看出两个函数的回显功能的有无。
在我的VS2017中,使用 getch() 函数会报错,因为现标准只让用 _getch() ,前面加一个下划线即可,这个函数可以用来让控制台程序运行完成后不立即关闭。