我陷入了无限循环。我怎样才能终止这个循环?我尝试使用/按下Cntrlc,但没有任何反应。我不知道如何阻止它。
main()
{
while (1)
{
char ch;
printf("Enter a character: \n");
ch = getche();
printf("\nThe code for %c is %d.\n", ch, ch);
}
}
我陷入了无限循环。我怎样才能终止这个循环?我尝试使用/按下Cntrlc,但没有任何反应。我不知道如何阻止它。
main()
{
while (1)
{
char ch;
printf("Enter a character: \n");
ch = getche();
printf("\nThe code for %c is %d.\n", ch, ch);
}
}
CTRLBREAK可能会为此工作。我有一个模糊的回忆,CTRLC并不总是使用 Borland 产品。
不过,那是很久以前的事了,所以我不得不从很深的记忆中找回它,这可能已经有些褪色了:-)
我的问题是:当有更好且同样便宜的解决方案可用时,为什么还有人使用 Turbo C?像 gcc(例如在 Code::Blocks 中)甚至 Microsoft Visual C Express。
你需要一个条件来打破你的 while 循环。
很喜欢,
main()
{
char ch = ' ';
while (ch != 'q')
{
printf("Enter a character: \n");
ch = getche();
printf("\nThe code for %c is %d.\n", ch, ch);
}
}
如果输入的字符是'q',或者你坚持使用while(1),你可以使用“break”关键字:
main()
{
while (1)
{
char ch;
printf("Enter a character: \n");
ch = getche();
printf("\nThe code for %c is %d.\n", ch, ch);
if (ch == 'q')
break;
}
}
如果您只想在 Turbo C 中暂停无限循环,请按BREAK. 如果您想回到 Turbo C 中程序的编辑器,请按CTRL+ BREAK。它将返回编辑您的程序。
是的,我试过了,它有效!
CTRL-Break、Break 和 CTRL-C 对我不起作用,但CTRL-ESC-ESC 可以!(这在 Borland C++ 3.1 中使用几乎相同的代码进行了测试)。
没有办法停止无限循环。但是,您可以在循环内添加一个导致其中断的条件,或者您可以在循环内调用 exit() 函数,这将终止您的程序。