標題:
C語言IF語句的條件判斷問題
[打印本頁]
作者:
李冬
時間:
2025-4-29 16:50
標題:
C語言IF語句的條件判斷問題
else if (38.1<=tw<=39)和else if (38.1<=tw&&tw<=39) 一樣嗎
作者:
rundstedt
時間:
2025-4-29 22:35
前面的寫法顯然是錯誤的,后面的對。
作者:
xiaobendan001
時間:
2025-4-30 07:24
一樣的吧,但是前邊的能過編譯嗎?
作者:
李冬
時間:
2025-4-30 11:22
xiaobendan001 發(fā)表于 2025-4-30 07:24
一樣的吧,但是前邊的能過編譯嗎?
能編譯通過
作者:
1565654483dsh
時間:
2025-4-30 13:44
Python中表達式 38.1<=tw<=39 是合法的語法,它會按照我們的預(yù)期來判斷 tw 是否在 38.1 和 39 之間,但在 C、C++、Java 等語言中,表達式會先計算 38.1 <= tw,這個比較操作會返回一個布爾值 1 和 0,然后再將這個布爾值與 39 進行比較
作者:
zcyxh12345
時間:
2025-4-30 13:55
不知道條件的前提下,無法判斷對錯吧
作者:
powerdruy
時間:
2025-4-30 14:08
(38.1 <= tw) 會先計算,結(jié)果是一個 布爾值:0(假)或 1(真)。
然后再判斷這個 0 或 1 是否小于等于 39。
這顯然不是你想表達的邏輯
作者:
xiaobendan001
時間:
2025-4-30 16:44
試了真能編譯過,不過6樓說的對,是按先后順序運算的。結(jié)果和右邊的是不一樣的。
作者:
shy332
時間:
2025-4-30 20:54
不一樣
作者:
shy332
時間:
2025-4-30 20:55
不一樣,后面的if語句永遠都不會執(zhí)行
作者:
ICELLL
時間:
2025-5-8 21:31
不一樣,<=運算是雙目運算符,你左邊那個表達式不是和數(shù)學(xué)上的表達式一個意思,計算機會一步一步算,先算38.1<=tw,返回一個值,然后再算這個值和39的大小
作者:
索菲亞
時間:
2025-5-8 22:07
不一樣,有優(yōu)先級問題
作者:
aking991
時間:
2025-5-9 08:30
建議你else if ((38.1<=tw)&&(tw<=39)) 這樣寫就能保證不會因為優(yōu)先計算問題出錯
作者:
Nakioy
時間:
2025-5-9 09:54
最好還是用后面的
作者:
4444555558
時間:
2025-5-13 18:20
這兩個寫法 不一樣,雖然它們的語義意圖是一樣的(都想表達 “tw 在 38.1 到 39 之間”),但語法上只有一個是合法并且正確的。 ✅ 正確寫法: c 復(fù)制 編輯 else if (38.1 <= tw && tw <= 39) 這是 C 語言中判斷一個值 tw 是否在 [38.1, 39] 區(qū)間內(nèi)的標準寫法。 ❌ 錯誤寫法: c 復(fù)制 編輯 else if (38.1 <= tw <= 39) // ❌ 錯誤 這個寫法雖然在數(shù)學(xué)中是合法的區(qū)間寫法(如:38.1 ≤ tw ≤ 39),但在 C 語言中它的解析方式不同,會導(dǎo)致錯誤邏輯。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1