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おそらくこれで機能します。CTRLCBorland 製品では必ずしも機能しなかったという漠然とした記憶があります。

とはいえ、それずっと前のことなので、非常に深い記憶からそれを取得する必要がありましたが、それは多少薄れている可能性があります:-)


あなたへの私の質問は次のとおりです。より優れた同等の安価なソリューションが利用できるのに、なぜまだ 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);
   }
}

入力された char が '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

CTRL-Break、Break、および CTRL-C は機能しませんでしたが、CTRL-ESC-ESCは機能しました! (これは、Borland C++ 3.1 のほぼ同じコードでテストされています)。

于 2016-12-16T19:50:32.267 に答える
1

Turbo C で無限ループを一時停止したい場合は、 を押しますBREAK。Turbo C でプログラムのエディターに戻りたい場合は、CTRL+を押しBREAKます。プログラムの編集に戻ります。

はい、私はこれを試してみましたが、うまくいきます!

于 2014-12-03T15:17:12.693 に答える
-3

無限ループを止める方法はありません。ただし、ループを中断させる条件をループ内に追加するか、ループ内で exit() 関数を呼び出してプログラムを終了させることができます。

于 2017-09-03T16:58:59.490 に答える