我想在循环中输入输入而不停止执行,即
`
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
char c;
while(1)
{
if((c=getch())=='y')
printf("yes\n") ;
printf("no\n") ;
}
return 0;
}
现在我希望无论输入如何都应无限打印“不”,如果我按y则应打印出来。然后再继续。这是可能的,任何IDEA!
答案 0 :(得分:0)
由于这似乎是在Windows上并且您已经在使用旧的conio功能,因此可以使用_kbhit()
加倍:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
while(1)
{
if(_kbhit() && getch() == 'y')
printf("yes\n");
printf("no\n") ;
}
return 0;
}
_kbhit()
“检查控制台是否有最近的击键,”the documentation表示。这意味着如果_kbhit()
为真,getch()
将能够立即获得一个角色,而不是阻止。