有以下程式段 int k 0 while k 1 k則迴圈執行多少次?為什麼

2021-04-28 17:37:26 字數 2165 閱讀 9118

1樓:天雨下凡

迴圈會執行無數次,while(k=1)表示式k=1是把1賦值給變數k,然後整個表示式k=1的值為1,即真,然後k自加,新的一輪迴圈開始時,k的值又變成1,即真,所以迴圈不會結束。

有以下程式段 int k=0; while(k=1) k++; 則while迴圈執行的次數是

2樓:陳開武

程式段 int k=0; while(k=1) k++; while迴圈體執行的次數為無

限次。理由:在執行while(k=1)時,會先執行賦值回語句,令 k 的值等答於 1,然後再判斷while的迴圈條件,此時 while(k=1)相當於 while(1),迴圈條件始終為真,無限迴圈執行。

再舉一個與上面條件差不多的例子:

#include

int main(int argc, char *argv);return 0;

}控制檯會不斷輸出2,如下圖:

3樓:熱情的

試題解析迴圈條件是" k=1",該表示式恆為真,所以程式構成死迴圈 答案選 a。

4樓:倒黴熊

a 因為迴圈條件 k=1 一直為真。

賦值語句的值為其等號右側的值,也就是說 k=1 的值為1,也就是為真。

5樓:

a.無限次

#include

int main(int argc, char *argv);return 0;

}你會發bai現一直輸出:2

原因:k=1 是一條du賦值語句,令zhi k 的值等於 1。語句 k = 1 的結果是dao 永遠是 1 , while(k=1) = while(1) ,是死迴圈,執行無限次

k == 1 才是一條邏輯語句,判斷 k 的值是否等於1 。如果 k 的值等於 1 , k==1 的結果是1,否則是0。

6樓:ok真命小精靈

正確答案為a. ***……

7樓:匿名使用者

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

int k=0; while(k=1)k++; 則while迴圈執行的次數是?

8樓:曾夢灝

#include

int main()

printf("tmes=:%d\n",times);

k=1,times=0;

while(k=1)

}printf("tmes=:%d\n",times);

return 0;

}由此bai可以看出來,

du第一個zhi迴圈了

dao0次,第二個是無內限迴圈。容

9樓:匿名使用者

死迴圈while() 括號中要判斷語句,你的是個賦值語句

int k=0; while(k=1)k++; 則while迴圈執行的次數是

10樓:and董姣姣

無限次,因為while條件是賦值語句,沒有判斷退出條件

一定記得好評哦

int k=0;while(k=1)k++; 這個while是迴圈無數次嗎?

11樓:幻の上帝

是。while(判斷條件),如果條件非零則進入迴圈體,之後再次判斷條件,如此專迴圈。( boss_lx 說反了- -...)

int k=0;

while(k=1)

k++;

以上**屬中,while的迴圈條件是k=1,這個表示式把1賦值給k,整個表示式的值等於1,非零,因此迴圈條件成立。迴圈體中k++;改變了k的值(為2),但無論如何,再次進入k=1判斷迴圈條件時,仍然會重複賦值表示式等於1的結果,也就是迴圈條件永遠成立。

====

[原創回答團]

12樓:匿名使用者

是的、因為while(k=1)其中「k=1」是賦值語句,而不是「k==1」。k=1永遠返回1即真,從而是個死迴圈。你把「k==1」與「k=1」弄混淆了....

13樓:

while(判斷條件) 如果判斷條件一直為false 那麼一直迴圈。

有以下程式 mainint x 1y 0i

結果是copy0 x 1,x為false 所以再判斷x 0也不成立故y 0else if x 0 if x y 2 else y 3 和else if x 0 是一樣的意思 最後輸出的結zhi果是0,還原一下程 dao序就可以看的更清楚 include int main else if x 0 el...

有以下程式,有以下程式 include int abc int u,int v main int a 24,b 16,c c abc a,b printf d n ,c

這個是輾轉相除法 求最大公約數的,24和16的最大公約數就是8具體過程 a 24 b 16 於是函式abc中 u 24 v 16 while v 第一次迴圈 w 24 16 8 u v 16 v w 8第二次迴圈 w 16 8 0 u v 8 v w 0第三次 判斷v為0,退出迴圈 返回u值為8 首...

有以下程式includestdiohmain

include main if c 3 d 1 如果c 3或者d 1有一個成立,則執行if語句 如果兩個都不成立,則不執行 你覺得你程式抄寫對了嗎?我覺得程式你抄寫漏了喲。a 2是賦值,而不是比較,我估計應該是a 2.如果是由兩個等號,請看我的註釋。輸出為 1,2,0,4.這程式能執行嗎。有以下程式...