4

我陷入了无限循环。我怎样才能终止这个循环?我尝试使用/按下Cntrlc,但没有任何反应。我不知道如何阻止它。

main()
{
     while (1)
     {
          char ch;
          printf("Enter a character: \n");
          ch = getche();
          printf("\nThe code for %c is %d.\n", ch, ch);
     }
}
4

5 回答 5

8

CTRLBREAK可能会为此工作。我有一个模糊的回忆,CTRLC并不总是使用 Borland 产品。

不过,那很久以前的事了,所以我不得不从很深的记忆中找回它,这可能已经有些褪色了:-)


我的问题是:当有更好且同样便宜的解决方案可用时,为什么还有人使用 Turbo C?像 gcc(例如在 Code::Blocks 中)甚至 Microsoft Visual C Express。

于 2011-05-17T02:55:20.207 回答
1

你需要一个条件来打破你的 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;       

   }
}
于 2011-05-17T02:55:47.873 回答
1

如果您只想在 Turbo C 中暂停无限循环,请按BREAK. 如果您想回到 Turbo C 中程序的编辑器,请按CTRL+ BREAK。它将返回编辑您的程序。

是的,我试过了,它有效!

于 2014-12-03T15:17:12.693 回答
1

CTRL-Break、Break 和 CTRL-C 对我不起作用,但CTRL-ESC-ESC 可以!(这在 Borland C++ 3.1 中使用几乎相同的代码进行了测试)。

于 2016-12-16T19:50:32.267 回答
-3

没有办法停止无限循环。但是,您可以在循环内添加一个导致其中断的条件,或者您可以在循环内调用 exit() 函数,这将终止您的程序。

于 2017-09-03T16:58:59.490 回答