我陷入了無限循環。我怎樣才能終止這個循環?我試圖使用/按Cntrlc但沒有任何反應。我不知道如何阻止它。如何在Turbo C中終止無限循環?
main()
{
while (1)
{
char ch;
printf("Enter a character: \n");
ch = getche();
printf("\nThe code for %c is %d.\n", ch, ch);
}
}
我陷入了無限循環。我怎樣才能終止這個循環?我試圖使用/按Cntrlc但沒有任何反應。我不知道如何阻止它。如何在Turbo C中終止無限循環?
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。
當談到邏輯時,C語言很容易學習。你必須知道基本的,因爲它是c語言的起源,如果你已經掌握了它,那麼出現的新語言將很容易使用。 – aer 2011-05-17 06:10:59
你可以給我任何理由爲什麼我不應該使用TurboC ...我知道這種語言已經過時。 – aer 2011-05-17 06:35:08
@aerohn,這應該是足夠的理由,我會想:-)儘管Borland的實現是_language_,但它並沒有被廢棄。它不符合像gcc這樣的最新標準,並且它與gcc和MSVC Express產品的價格相匹配。我更喜歡自己使用更現代的編譯器。請記住,我並不是說你應該考慮從C本身開始,只是Turbo C. – paxdiablo 2011-05-17 07:44:20
你需要一個條件來打破你的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',或者如果你堅持一段時間(1),你可以使用 「破發」 的文章:
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;
}
}
這會起作用,但我認爲OP已經開始運行一個無條件循環,沒有條件,並想知道如何退出程序並返回到TurboC – 2017-08-07 04:14:10
如果您想暫停Turbo C中的無限循環,請按BREAK。如果您想回到Turbo C的編輯器,請按CTRL + BREAK。它將返回到編輯您的程序。
是的,我試過這個,它的工作原理!
CTRL-Break,Break和CTRL-C對我不起作用,但是CTRL-ESC-ESC沒有! (這在Borland C++ 3.1中用幾乎相同的代碼進行了測試)。
其實,只是ESC-ESC的作品! – Dave 2016-12-16 19:51:21
沒有辦法阻止無限循環。但是,您可以在循環內部添加一個條件以使其中斷,或者可以在循環內調用exit()函數,這會終止程序。
程序的可移植版本將使用'getchar()'而不是非標準'getche()',並將結果存儲在'int'而不是'char'中。 'int ch; while((ch = getchar())!= EOF){/ * ... * /}'您還需要'#include','main()'應該是'int main(void)'。 (可能'getche()'做了一些'getchar()'不能用的東西;我對它不熟悉。) –
2014-12-03 16:41:47