【发布时间】:2013-06-20 05:24:57
【问题描述】:
只是为了好玩,我尝试使用循环打印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;
}
我该如何解决这个问题?
【问题讨论】:
-
Don't use gotos (另外,您的意思可能是“广告无限”;))
-
不,这里很少有很多用户建议使用 goto。我探索了stackoverflow.com/questions/245742/… 和其他一些帖子。
-
在这种情况下,您只需立即返回
if,即可轻松避免goto。如果您必须在退出goto之前进行更多清理工作可能更合理。