c語言為什麼for是死迴圈,C語言中程式如for為什麼是死迴圈

2021-03-04 06:19:27 字數 3876 閱讀 4078

1樓:金色潛鳥

for(;;) ;

按語法, for 迴圈 (初態;終態;步長) 這三部分,現在 是 (空語句

回;空語句;空語句)。

是合法的答語句。由於沒有給 終態 (即允許繼續迴圈和終止迴圈的條件), 迴圈語句於是可以 永遠繼續下去。俗稱 無限迴圈 或 死迴圈。

但通常 迴圈體內 會有 語句控制 決定 是否中止。例如for(;;) ;

for(;;) ;

當然,必要時,也可以 按組合鍵 ctrl+c, ctrl+z 之類的 中斷 程式執行。

c語言中程式如:for( ; ;);為什麼是死迴圈?

2樓:匿名使用者

for( ; ;);是一bai

個典型的簡介的死迴圈。

解釋如du下:

所謂迴圈zhi就是dao讓計算機重複執行一段內**;

迴圈的核心有兩個容部分:迴圈控制、迴圈體;

迴圈控制部分的迴圈結束條件如果永遠成立,將會導致一直迴圈,俗稱」死迴圈「;

上面的程式:最後的分號,表示迴圈體為空,是空迴圈;括號中的兩個分號之間是放迴圈結束條件的,這裡也是空,等價於迴圈條件永遠成立。

for( ; ;);的迴圈條件永遠成立,所以導致死迴圈。

3樓:莊慧月荊聰

死迴圈就來是不停的執行一

自段**,而沒有退出的條件

~~~~~比如你想要計算從1開始計算以後每個數的和,如果你設定成for(i=1;i<=100;i++){}則程式會在執行100次以後退出for迴圈,而如果設定成for(i=1;;i++){}就可以說是進入了一個死迴圈,當然這麼寫是不合法的~~~~

4樓:匿名使用者

for( a; b; c)其中b這部分是for()迴圈的結束條件 ,你那個for(; ;)沒有結束條件,當然是死迴圈...

5樓:匿名使用者

;;中間是結束條件,什麼都不寫就是一直迴圈,當然會死。

如果確實要這麼使用,在for迴圈中使用break(結束迴圈)或者return(結束當前函式),也可以讓他不死.

6樓:匿名使用者

沒有迴圈結束條件 預設為true 即一直執行

7樓:匿名使用者

for(int i=0;i<20;i++)=>確定i=0,執行迴圈語句,然後i=i+1,判斷i是否小於20,如果內為真,則執行迴圈語句,i=i+1,~~~~~~~知容道i等於20時,跳出迴圈

=>for(語句1;語句2;語句3)

語句1:確定迴圈變數

語句2:當語句2為假時,跳出迴圈

語句3:當一次迴圈將要結束時,最後執行的語句for(;;)語句2為空,則預設為恆真,無限迴圈。

8樓:匿名使用者

您好bai,for(;;);這個迴圈相當於while(1);這個語句就是du無限迴圈;zhi

在for語句當中dao,第一個是初始化資料內,第二個用於條件容判斷,第三個用於迴圈操作。

當第二預設的時候,系統會直接判定為1,相當於不初始化資料,不進行迴圈操作,條件判斷始終為真,始終進行空操作,不斷迴圈,直至宕機

9樓:傳說中的鷹王

for( ; ;); 沒有結束條件,會一直迴圈下去

10樓:

不死才怪,你有沒有c常識。

c語言初學者:為什麼這個for迴圈會是死迴圈?

11樓:匿名使用者

for(m=1;m這一句錯誤,應該是

for(m=1;m

12樓:雪之伊呂裡

你的%d是純數字 數字的多少算是完?數字是無窮大的,你的m=1,m<=n一直成立,不就是死迴圈了。小於一個無窮的數當然死循了。

個人見解,不喜勿噴,喜歡望採納,碼字不易。

13樓:老猴子不會胖

並沒有死迴圈啊 哥 可能你n取值太大

c語言 為什麼for(;;)是死迴圈?求大神解釋

14樓:碧海風雲

c語言中來for迴圈包含三個部分:初自始化、條件、遞增for (initialization; condition; afterthought)

初始化是宣告(或者賦值)任何需要的變數的動作。如果你要使用多個變數,則變數的種類要一致。條件的部分則是檢查是否離開這個迴圈,也就是讓程式碼往下執行。

如果條件判斷為假,則離開迴圈。遞增在每跑一次迴圈都會重複執行一次。

for(;;),這個語句中缺少迴圈終止的條件,自然就是死迴圈了

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

15樓:一籃子陽春白雪

c語言中死循bai環怎麼解決?

du首先應該將對應的

zhi退出條件置為恆為真,然dao後按照「while迴圈」專「屬for迴圈 」「do-while迴圈」三個迴圈模式分別描述。

在這個過程中,還要注意管理好迴圈控制變數,使while 的條件有機會為false,或在迴圈體中加入break,並使它有機會執行。

另外,也可以設定迴圈計數變數。為了防止程式出現死迴圈,最好是自習檢查程式,保證邏輯正確。如果不放心的話,可以設定迴圈計數變數,嵌入迴圈,當溢位上限時停止程式並報錯。

需要說明的是,死迴圈儘量少用。如果一定要用死迴圈,也要在迴圈體內設定退出條件(break)。

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

16樓:匿名使用者

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

比如最簡單的:

while(1);

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

int i=0;

while(i<10)

17樓:匿名使用者

死迴圈就是這樣的

int x=0;

while(x==0)

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

18樓:匿名使用者

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

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

19樓:牛一家

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

20樓:理智之神

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

21樓:匿名使用者

for (i=0;;i++)

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

c語言無限迴圈 死迴圈區別...

22樓:匿名使用者

無限迴圈不就是死迴圈麼

k=1不是k==1,它是一個賦值語句而不是比較語句,返回的值為1,所以會一直執行下去。

23樓:千鋒教育

無限迴圈與死迴圈沒有本質的區別,只是不一樣的說法而已。

常見的無限迴圈有一下幾種實現方式:

1、for(; ;) {}

2、while(1) {}

24樓:匿名使用者

無限迴圈可能是程式需要故意為之,如while(1);

死迴圈可能是程式設計的邏輯錯誤,使得程式未按照預想的那樣執行。

25樓:匿名使用者

這是因為while括號裡面的條件是k=1 而不是k==1,k=1是個賦值語句,永遠返回真。

26樓:匿名使用者

無限迴圈就是死迴圈,while(條件控制),因為k=1恆為真,所以是無限迴圈

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

就是迴圈條件總是滿足,無法退出迴圈啊 比如最簡單的 while 1 有時候不注意就容易引起這種情況 int i 0 while i 10 死迴圈就是這樣的 int x 0 while x 0 也就是說沒有關鍵性的結束迴圈的語句,導致沒有終止的執行迴圈體裡面的程式段,就是死迴圈 沒有迴圈終止條件,或者...

c語言goto語句死迴圈,goto語句是迴圈語句 會死迴圈 嗎?

當執行到goto num 程式就會跳轉回到num printf a 然後又繼續向下執行,如此反覆迴圈下去 你的for迴圈每次初始i 0 然後進來goto num,這樣每次for迴圈中的判斷i都是0 10,所以就是死迴圈。所以說一定要把判斷條件的初始化放在迴圈開始之前。此處應該把i 0的賦值放在num...

c語言用迴圈輸出字母,C語言用迴圈輸出26個字母

include void main if i 7 6 是i對7求佘數,如果i 14,則佘為0,i 8 則佘為1 include int main return 0 ddddddddddddddddddd 用c語言迴圈語句輸出26個大寫及小寫字母 可以參考下面的 include int main 擴充...