為什麼c語言程式int k 0 while(k 1)k為什麼k 1總為真

2021-05-22 14:08:58 字數 2627 閱讀 3425

1樓:天雨下凡

因為在c語言中,=是賦值語句,==才是等號,而賦值語句的結果是賦值號右邊的值,即語句x=1的值是1,是真。

2樓:育知同創教育

int k=0;

while(k=1)

k++;

(k=1)是用來判斷的條件它的返回值只有真和假,而k=1賦值語句的所回值為真,所以while迴圈條件一直為真,是個死迴圈,次數無限!

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

3樓:幻の上帝

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

int k=0;

while(k=1)

k++;

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

====

[原創回答團]

4樓:匿名使用者

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

5樓:

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

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

6樓:陳開武

程式段 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,如下圖:

7樓:熱情的

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

8樓:倒黴熊

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

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

9樓:

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。

10樓:ok真命小精靈

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

11樓:匿名使用者

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

int k=0; while(k=1)k=k-1; 這個是無限迴圈還是不迴圈?

12樓:匿名使用者

無限迴圈

while(k=1)是賦值語句,返回數一直是1,所以會一直執行while迴圈

即,一直執行:k=1 k=k-1=0;

13樓:徐少

無限迴圈。解釋如下:

在c語言裡,k=1這個表示式,一方面給k賦值1,另外一方面,這個表示式的值為1。於是,判斷的時候,總是真,所以就無限迴圈了。

14樓:匿名使用者

不迴圈滿足條件才迴圈

int k=0; while(k=1) k=k-1; 為什麼這個是無限迴圈???

15樓:徐少

這個不是無限迴圈。

原因是:while括號內的條件為真時,執行迴圈體。k值原先為0,第一次判斷,0=1為假,所以不執行迴圈體。然後迴圈結束。k值仍為0。

16樓:匿名使用者

因為 進行while(k=1) 後k的值會一直為1 整個k=1=true表示式不會等於0=false

17樓:匿名使用者

恩,相當ture,死迴圈,想要跳出,加break

有以下程式段:int k=0;while(k=1) k++; 則迴圈執行多少次?為什麼?

18樓:天雨下凡

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

C語言下面程式執行結果為什麼是0而不是1 mainint n

因為迴圈的時候當i等於k的時候退出迴圈了,根本沒有執行迴圈體n i n i 1 這一句,所以n k 的值為初始化的值,初始化的值為0.故輸出0,因為當i k時,for迴圈的條件已經不滿足,不會執行n i n i 1。故n k 還是0.選cn 4 相當於是這樣 intn 0 while n 2 先進行...

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

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

以下c語言程式為什麼不會輸出Q,為什麼C語言程式執行輸入後沒有輸出

while c q 當c不等於q時,執行大括號內的語句 所以當輸入一個q時,c等於q,while語句的條件判斷變成了假,迴圈就結束,大括號內的列印語句沒有執行,自然也不會有q被列印出來了。c為q時,你的程式就退出了!當輸入為 q 時就不滿足while的條件自然不會輸出 q 你的輸出是在while中做...