getchar()函数是C语言专门为输入单个字符而提供的,getchar()函数是从I/O字符流中读取一个字符,必须输入换行才能读入字符。
getche()、getch()函数也是读入单个字符,是从控制台直接读取一个字符,无须换行即可读入字符。
getchar()是C的标准库函数,包含在头文件<stdio.h>中。
而getche()和getch()需要的头文件是<conio.h>。conio.h不是C标准库中的头文件。conio是ConsoleInput/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作。
getchar()函数从键盘读入字符时,输入的字符带回显,并且必须等到输入换行(按Enter键)才能读取一个字符。
getche()函数从键盘读入字符时,输入的字符会回显到显示屏上,但是无须输入换行即可读取一个字符。
getch()函数从键盘读入字符时,输入的字符不回显到显示屏上,但是无须输入换行即可读取一个字符。
运行下列3个程序,从键盘输入:abcde,观察运行结果截图,体会getchar()、getche()、getch()函数的区别。
#include<stdio.h>
int main(void)
{
char ch;
int i;
for(i=0;i<5;i++)
{
ch=getchar(); //带回显,且等待按Enter键换行
printf(“%c”,ch);
}
return 0;
}
#include<stdio.h>
#include<conio.h>
int main(void)
{
char ch;
int i;
for(i=0;i<5;i++)
{
ch=getche(); //带回显
printf(“%c”,ch);
}
return 0;
}
#include<stdio.h>
#include<conio.h>
int main(void)
{
char ch;
int i;
for(i=0;i<5;i++)
{
ch=getch(); //不带回显
printf(“%c”,ch);
}
return 0;
}
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com