C語言中什麼叫死迴圈?怎麼避免?

2023-03-17 18:00:22 字數 3591 閱讀 1325

1樓:昂義稱凰

死迴圈就是沒有退出條件,或者退出條件永遠不可能為真的迴圈。

我認為迴圈不一定要初始值,也不一定要有遞增或者遞減。但一定要有退出條件,並且這個條件要能夠有為真的時候。

所以要避免死迴圈就要設好你的退出條件。

2樓:都桂花黎姬

迴圈有很多種。比如:

1、while迴圈。

2、for迴圈。

但是他們都有三個條件必須滿足。!

1、初始值。

2、範圍。3.、遞增或者遞減。

當你沒有遞增或者遞減就會出現死迴圈。!

應該是吧,你用的那種迴圈?(不行補充下問題。!)

3樓:品學

造成死迴圈原因有這些: 1.沒有迴圈終止條件 2.

迴圈體執行不可能達到迴圈終止條件 3.迴圈次數過大 4.迴圈內的計算量過大造成宕機 從原因中可以知道避免死迴圈的方法是,設定好迴圈終止條件,認真思考迴圈計算過程看是否每次迴圈都會在有限的時間內滿足迴圈終止條件,想想迴圈次數是否過大,儘量讓迴圈體中的計算量少。

按照這個減少做這些的就行。

4樓:田金生梁淑

在c語言的迴圈中,無論是何種迴圈結構,都會在迴圈中指明退出條件,這個條件會是一個邏輯運算表示式。

要做死迴圈,只需要把對應的退出條件置為恆為真即可。

以下根據三種迴圈模式分別描述:

while迴圈。

while迴圈的判斷條件是第一行while後面空格的內容,所以寫成。

while(1)

即可成為一個死迴圈。這個也是c語言中死迴圈最常見的模式。

for迴圈。

for迴圈的判斷條件,是for後面括號中的第二條語句。由於for的特殊性,以下兩種方式,均可以構建死迴圈。

for(expr1;

expr2)

判斷條件處寫為1,代表恆為真,與1中while的類似。

for(expr1;

expr2)

由於for允許括號中的三個表示式為空,所以判斷部分留空,同樣達到死迴圈的效果。

do-while迴圈。

do-while迴圈的判斷條件為結尾while後的括號中內容。與1類似,do-while死迴圈可以寫作:

dowhile(1);

以上為三種死迴圈的構建,不過需要說明的是,死迴圈儘量少用。如果一定要用死迴圈,也要在迴圈體內設定退出條件(break)。

c語言中死迴圈怎麼做?

5樓:匿名使用者

讓迴圈結束的條件永遠不能滿足!

例如:for (i=0;i<100;)

6樓:網友

寫一個迴圈 不設定迴圈結束條件就行了。

7樓:匿名使用者

要死迴圈幹什麼?

while(1){}中只要不寫break;就一直迴圈{}中的內容。你真要死迴圈麼?

8樓:網友

病毒就是一種死迴圈。

9樓:星星天使

幹嘛要死迴圈,很耗的……

10樓:網友

可導致死迴圈的語句例:

while(1){}

for(;;

dowhile(true)

c語言中死迴圈怎麼解決?

c語言中的死迴圈是什麼意思?

11樓:匿名使用者

就是迴圈條件總是滿足,無法退出迴圈啊。

比如最簡單的:

while(1);

有時候不注意就容易引起這種情況:

int i=0;

while(i<10)

12樓:匿名使用者

死迴圈就是這樣的。

int x=0;

while(x==0)

也就是說沒有關鍵性的結束迴圈的語句,導致沒有終止的執行迴圈體裡面的程式段,就是死迴圈。

13樓:匿名使用者

沒有迴圈終止條件,或者說迴圈終止條件是不可能達到的。

想當初,學校機房裡有不少電腦死於我的死迴圈下啊。

14樓:牛一家

就是一直迴圈下去,程式一直在執行迴圈,不會退出。

15樓:理智之神

沒有盡頭的迴圈,約等於宕機。

16樓:匿名使用者

for (i=0;;i++)

這種情況下i不斷自增,就形成死迴圈了。

c語言中的死迴圈是什麼意思啊? 5

17樓:嫩草芽

同意樓上,就是你死了它也迴圈不完,譬如說for(i=2;i>0;i++)

懂了吧?永遠不會停止的,在某些意義上說他也算是病毒吧。

18樓:匿名使用者

根據你bai

寫的程式存在錯誤,du例如:zhimain() 執行永不停止。可以用ctrl+break中止dao

即可得2分,回容答被採納則獲得懸賞分以及獎勵20分。

19樓:匿名使用者

舉個例子給你看:

void sample()

float a=0;

int i;

for (i=0;;i++)

i無止境的自增,沒有條件約束它。

此時a也無止境的自增,永遠回不會結束。

一個演算法必答須是有窮的,但是一個程式未必是有窮的,比如作業系統,如果不去動它,它會一直執行下去,但是演算法必然是有止境的。

20樓:

按照書上的定義 迴圈體週而復始的執行。

其實 最後無法退出迴圈體就是死迴圈。

你還要注意 死迴圈不會報錯……

21樓:匿名使用者

就是無限迴圈。例如:while(1);

22樓:匿名使用者

ls強人,幹嘛吃飯呢?幹嘛泡妞呢?

23樓:飛翔de河南人

就是你死了它也迴圈不完。

24樓:匿名使用者

幹嘛學c語言呢,可以不學的。

25樓:麥玉枝那秋

死迴圈是迴圈條件永遠能夠得到滿足,迴圈永遠進行下去。這種迴圈一旦進入就出不來了。

所以要設定跳出條件。

c語言死迴圈怎麼辦

c語言中的死迴圈是什麼意思啊?

26樓:匿名使用者

就是迴圈語句永遠不能結束,始終在迴圈執行。

27樓:匿名使用者

就是無限次迴圈,沒有判斷語句,沒有結果。

在c語言中什麼是死迴圈

28樓:匿名使用者

就是沒有退出機會的迴圈。

例如最簡單的。

while(1){}之後的**不會執行,因為迴圈條件始終為真。

C語言中死迴圈怎麼解決,C語言中什麼叫死迴圈?怎麼避免?

c語言中死循bai環怎麼解決?du首先應該將對應的 zhi退出條件置為恆為真,然dao後按照 while迴圈 專 屬for迴圈 do while迴圈 三個迴圈模式分別描述。在這個過程中,還要注意管理好迴圈控制變數,使while 的條件有機會為false,或在迴圈體中加入break,並使它有機會執行。...

一道簡單的判斷C語言中是否是死迴圈。我只判斷出了B是那ACD呢

a while 1 c語言中1代表結果為真,雖然while裡面有break,但是i i 100 1使i不可能為100,所以死迴圈,c k 0,但是do語句中是先執行一次迴圈內容再進行判斷,所以死迴圈。d for for語句中第一個分號後面的是判斷退出條件,這點與while不同,如果while裡面沒有...

C語言的for迴圈語句,C語言中迴圈語句有哪些?

呵呵,是可以執行的。for rooster 0 rooster 100 rooster for hen 0 hen 100 hen for chick 0 chick 因為只有到這裡才有分號。用 是在多個分號出現的語句中。for while if 等語言語法中都有 若有多條語句必須用 擴起來 的有效...