C语言中kbhit()函数怎么复位
发布网友
发布时间:2022-08-17 07:07
我来回答
共4个回答
热心网友
时间:2023-10-10 21:25
函数简介
函数名:kbhit()(VC++6.0下为_kbhit())
功 能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。当调用kbhit()函数检测后,它的状态会自动复位。即重新进入检测状态而不会保留上一次的检测结果的。
用 法:int kbhit(void);
包含头文件: include <conio.h>
程序示例
下面的代码,如果没有键盘输入程序一直输出A,直到用户按Esc结束输出H改为输出B,第二次按Esc时,结束输出B,并输出A和B的个数。这个程序说明kbhit()可以自动复位,重复使用。
#include<stdio.h>
#include<conio.h>
int main(void)
{char ch;
long a=0,b=0;
while(1)
{printf("A");a++;
if(kbhit())
{ch=getch();
if(27==ch)break;
}
}
while(1)
{printf("B");b++;
if(kbhit())
{ch=getch();
if(27==ch)break;
}
}
printf("\nA=%ld B=%ld\n",a,b);
system("pause");
return 0;
}
热心网友
时间:2023-10-10 21:26
kbhit是非阻塞型的函数,也就是说不会保持状态,只在他被调用的时刻返回值
所以你之后使用它就可以了
他不会一直保持1的状态的
热心网友
时间:2023-10-10 21:26
kbhit是非阻塞型的函数,也就是说不会保持状态,只在他被调用的时刻返回值
所以你之后使用它就可以了
他不会一直保持1的状态的
热心网友
时间:2023-10-10 21:27
while(1)
{
if(kbhit())
{
getch();//加上这一句
//...
}
}