一、getchar、getch、getche
1、getchar()
getchar()从输入缓冲区读入一个字符,并返回这个字符的ASCII码(即函数返回值为int型),出错返回-1(EOF);如果用户输入了不止一个字符,则其他字符会保存在键盘缓冲区等待getchar函数调用。
2、getch() 、getche()、getchar()区别
getch()、getche()与getchar功能相同,区别是:
getch不带回显,且不需要用户按回车就可显示;
getche带回显,且不需要用户按回车就可显示;
getchar()带回显,但是需要用户按回车才能显示,可以输入一串字符,但只返回第一个字符的ASCII;
getch和getche调用格式 #include <stdio.h>
getchar调用格式 #include <conio.h>
3、程序示例1--三者区别
1 # include <stdio.h> 2 # include <conio.h> 3 4 int main() 5 { 6 char c; 7 c = getch(); //getch不带回显,用户按E,屏幕只会显示一个E(输出的E); 8 //用户只能输入一个字符,马上显示 9 putchar(c); 10 11 c = getche(); //getche带回显,用户按E,屏幕会显示两个E(一个是输入的E,一个是输出的E) 12 //用户只能输入一个字符,马上显示 13 putchar(c); 14 15 c = getchar(); //getchar不仅带回显,而且输入E后,需要按回车,才能显示第二个E 16 //用户可以输入一串字符,但只返回第一个字符 17 putchar(c); 18 19 return 0; 20 }
4、程序示例2--利用getch函数不带回显实现暂停功能
1 # include <stdio.h> 2 # include <conio.h> 3 4 int main() 5 { 6 char str[20]; 7 gets(str); 8 getch(); //用getch实现暂停,防止程序一闪而退,此处必须要任意按下一个键程序才结束。 9 //一般不用getche,因为getche带屏显,会把你任意按的字符显示在屏幕上 10 return 0; 11 }
二、gets()
getchar、getch、getche三个函数的调用方式都是 函数名(),没有形参
gets函数调用方式为 gets(字符数组名或指针)
gets函数和scanf函数比较见下篇