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

2021-03-12 09:34:48 字數 2937 閱讀 9443

1樓:匿名使用者

for( ; ;);是一bai

個典型的簡介的死迴圈。

解釋如du下:

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

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

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

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

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

2樓:莊慧月荊聰

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

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

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

3樓:匿名使用者

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

4樓:匿名使用者

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

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

5樓:匿名使用者

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

6樓:匿名使用者

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為空,則預設為恆真,無限迴圈。

7樓:匿名使用者

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

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

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

8樓:傳說中的鷹王

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

9樓:

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

c語言 為什麼for(;;)是死迴圈?

10樓:金色潛鳥

for(;;) ;

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

回;空語句;空語句)。

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

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

for(;;) ;

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

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

11樓:碧海風雲

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

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

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

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

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

12樓:匿名使用者

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

for(m=1;m

13樓:雪之伊呂裡

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

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

14樓:老猴子不會胖

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

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

15樓:匿名使用者

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

比如最簡單的:

while(1);

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

int i=0;

while(i<10)

16樓:匿名使用者

死迴圈就是這樣的

int x=0;

while(x==0)

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

17樓:匿名使用者

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

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

18樓:牛一家

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

19樓:理智之神

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

20樓:匿名使用者

for (i=0;;i++)

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

c語言中,程式沒有錯誤但是執行後卻不顯示

不是你寫來 的吧?因為 沒有問源題,只是輸入 bai時要先輸入個數dun,再輸入zhin個數,最後輸入一個要找的數 dao這 沒有輸入錯誤提示,所以輸入錯了就沒有輸出,等待下一次輸入。而且,是多組迴圈,若要退出,得輸入兩次ctrl z鍵,否則啥也不顯示等待下一輪輸入。比如你輸入4 表示回車 再輸入1...

c語言中,程式沒有錯誤但是執行後卻不顯示

不是你來寫的吧?因為 沒自有問題,只是bai輸入時要du 先輸入個數n,再輸zhi入n個數,最dao後輸入一個要找的數 這 沒有輸入錯誤提示,所以輸入錯了就沒有輸出,等待下一次輸入。而且,是多組迴圈,若要退出,得輸入兩次ctrl z鍵,否則啥也不顯示等待下一輪輸入。比如你輸入4 表示回車 再輸入12...

C語言,我的程式為什麼執行不對,c語言中輸入一個程式後顯示無錯誤,為什麼不能執行

是陣列,本身就是地址,不必用 2 b進位制,每位上的數字最大值是b 1,因此,應該先檢視3個數各位的數字,取最大值 1作為b的最小值.3 注意,base在每次求1個數之前,要重新歸1。你求sum1,sum2,sum3前,都沒有歸1,base累積,越來越大。第一個base 1 應該在for i len...