只是为了好玩,我尝试使用循环打印kbhit(),以便在按下按键后程序
无限打印行,直到再次按下键盘。它编译良好,运行时仅显示空白屏幕。没有打印。但是,一旦按一下按键,程序就会结束。控制台不会关闭。

#include <stdio.h>
#include <conio.h>

int main()
{
  while(1)
  {
    if(kbhit())
    {
      while(1)
      {
        if(kbhit())
        {
          goto out;
        }
        printf("Print Ed Infinitum Until Key Press");
      }
    }
  }
  out:
  return 0;
}


我该如何解决?

最佳答案

int main(void){
    while(1){
        if(kbhit()){
            getch();
            while(1){
                if(kbhit()){
                    getch();
                    goto out;
                }
                printf("Print Ed Infinitum Until Key Press\n");
            }
        }
    }
out:
    return 0;
}

关于c - 具有双循环的kbhit()不能正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17263037/

10-10 09:40