一、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--三者区别
# include <stdio.h>
# include <conio.h> int main()
{
char c;
c = getch(); //getch不带回显,用户按E,屏幕只会显示一个E(输出的E);
//用户只能输入一个字符,马上显示
putchar(c); c = getche(); //getche带回显,用户按E,屏幕会显示两个E(一个是输入的E,一个是输出的E)
//用户只能输入一个字符,马上显示
putchar(c); c = getchar(); //getchar不仅带回显,而且输入E后,需要按回车,才能显示第二个E
//用户可以输入一串字符,但只返回第一个字符
putchar(c); return ;
}
4、程序示例2--利用getch函数不带回显实现暂停功能
# include <stdio.h>
# include <conio.h> int main()
{
char str[];
gets(str);
getch(); //用getch实现暂停,防止程序一闪而退,此处必须要任意按下一个键程序才结束。
//一般不用getche,因为getche带屏显,会把你任意按的字符显示在屏幕上
return ;
}
二、gets()
getchar、getch、getche三个函数的调用方式都是 函数名(),没有形参
gets函数调用方式为 gets(字符数组名或指针)
gets函数和scanf函数比较见下篇