在c語言中for是無限迴圈嗎,c語言求大神解釋for為什麼是無限迴圈的

2021-03-04 00:12:44 字數 2234 閱讀 9703

1樓:快樂小不點

是迴圈,但不是無限呀,肯定還有個except然後結果就出來了

2樓:匿名使用者

是無限迴圈

也可以用while(1),更直觀

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

3樓:劉子超1號

該函式等同於while(1),由於執行for迴圈for(初始條件;判斷條件;結束時執行)的判斷條件沒寫,意味著判斷結果始終為真,沒有跳出迴圈的契機,就是無限迴圈。

4樓:zz迎風

for(a;b;c);b的位置是判斷迴圈進行的條件,若b省略,則迴圈一直進行即死迴圈

5樓:玉蘭花瓣巨蟹座

c語言學了,快全部還給老師了

6樓:匿名使用者

悲劇,因某次面試,用的 for(; ;)迴圈,直接被面試官pass...

c語言:下列()不是無限迴圈

7樓:

for 的語法為:

for(迴圈初始化語句(可省略) ; 判斷迴圈終止條件語句(可省略) ; 每輪迴圈結束執行的語句(可省略))

while 的語法:

while(判斷迴圈終止條件語句(不可省略))

下面我們來看題目:

a. for(; ; x=0)

這是 for 語句。省略了 「迴圈初始化語句」 和 "判斷迴圈終止條件語句" ,

每次迴圈結束後執行語句為: x=0

因為省略了 "判斷迴圈終止條件語句",因此是乙個死迴圈。

b. while(x=1)

這是 while 語句,「判斷迴圈終止的語句」為:x=1。語句是乙個賦值語句,而不是邏輯條件(x==1)語句。

這個賦值語句的值,也就是變數 x 的值,恆等於 1。不為 0 的值,在 c 語言裡面都是"真"的,因此這個迴圈會一直執行下去。

c.for(y=2,x=1;x>=++y;x++);

這是 for 語句。

「迴圈初始化語句」 為: y=2,x=1

"判斷迴圈終止條件語句"為:x>=++y

」每次迴圈結束後執行語句「為: x++

我們看 "判斷迴圈終止條件語句"為:x>=++y。

第一次迴圈的時候,x=1, ++y = y+1 = 3。因此邏輯判斷語句 x>=++y 的值是「假」的。

這個迴圈一次也不會執行。它不是乙個死迴圈。

d.for(y=0;x=1;++y);

這是 for 語句。

「迴圈初始化語句」 為: y=0

"判斷迴圈終止條件語句"為:x=1

」每次迴圈結束後執行語句「為: ++y

我們可以看到,不論迴圈多少次,變數 x 的值都不會改變的,x 恆等於 1。

只有 y 的值每迴圈一次會加一。

因此 "判斷迴圈終止條件語句"為:x=1 是恆成立的。這是死迴圈。

8樓:灰色

這裡含簡單就判斷出c的條件不滿足,所以是c

9樓:小小圖圖來了哦

應該選c,一開始就不滿足x>=++y這個條件,所以一開始就跳出for迴圈語句了

10樓:姜煙逢戌

a)for(k=-1;-10個錯誤,k=-1應該是小寫k不是無限迴圈,k<-10後-10,退出

b)for(i=1,j=10;i-j;i++,j--)是無限迴圈,i-j=0時i-j為假才能退出,當i=5時,j=6,而下一迴圈i=6,j=5,i-j永不為0

c)for(k=1;k=10;k++)

是無限迴圈,k=10是賦值表示式,永為真

d)for(k=1;k>0;k++)

是無限迴圈,k從1開始遞增,所以k>0永為真

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

11樓:碧海風雲

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

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

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

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

c語言中for迴圈的例題,乙個c語言中for迴圈的例題

c語言中的for迴圈語句使用最為靈活,不僅可以用於迴圈次數已經確定的情況,而且可以用於迴圈次數不確定而只給出迴圈結束條件的情況,它完全可以代替while語句.for 表示式 1 表示式 2 表示式 3 語句 它的執行過程如下 1 先求表示式 1.2 求表示式2,若其值為真 值為非0 則執行for語句...

C語言問題迴圈移位,C語言中怎樣表示移位

include stdio.h int main int argc,char argv t a n printf the result is u n a 32 n t return 0 執行樣例 c語言中怎樣表示移位?利用位操作 就是左移 就是右移舉個例子 將a左移2位,然後賦給a a 2 也即是a...

如何在c語言中跳出for迴圈

跳出for迴圈主要有以下2中方式 1 用break語句。如 int i for i 0 i 10 i printf d i 2 用return語句 一般用在函式體屬中,作為函式的返回值跳出該函式,也即跳出了函式體中的for迴圈 int fun int a 就用break啊!在for迴圈裡面加個判斷,...