您當前的位置:首頁 > 曲藝

c語言基礎問一道題,為什麼x恆等於2,見下圖?

作者:由 不太好開的開心果 發表于 曲藝時間:2022-04-17

c語言基礎問一道題,為什麼x恆等於2,見下圖?晨曦2022-04-17 22:30:32

謝謝邀請。

因為x——是先取值後再自減,所以當y==1是,x==0,迴圈結束,所以只會輸出兩個##。

x——是先取值再減。——x是先減再取值。

c語言基礎問一道題,為什麼x恆等於2,見下圖?晨書堂2022-04-18 13:20:08

1<=x<=2應當看成(1<=x)<=2,而1<=x是非true即false的,即只能是0或1,它恆小於2,因此原式恆成立,while無限迴圈。

c語言基礎問一道題,為什麼x恆等於2,見下圖?老Z閒話2022-04-18 14:38:56

在C語言裡,判斷 x大於等於1, 小於等於2的正確方法是:

if( x >= 1 && x <= 2)

不要把數學裡的表達方式:1 <= x <= 2 套用到C語言上,

切記!切記!

然後說說這個為什麼會死迴圈:1<=x是邏輯表示式,C語言裡面用1表示true,用0表示false。不管1 <= x 的結果是0還是1,它小於等於2的結果都是true,所以當然就會成為死迴圈。

所以,x恆等於2是不存在的,你沒有搞懂if後面的邏輯運算語句才是真。

標簽: true  C語言  取值  等於  false