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中做...