這個問題在這里已經有了答案: 鏈接多個大于/小于運算子 (6 個回答) if(x==y==z) 有效,if(x!=y!=z) 無效 (4 個回答) 10 小時前關閉。
任何人都可以啟發我為什么在我期望它回傳時-5<-2<-1回傳0C 1(真)?
printf("%d", -5<-2<-1);
uj5u.com熱心網友回復:
這個表情
-5<-2<-1
相當于
( -5<-2 ) < -1
因為運算子 < 從左到右求值。
As-5小于-2sub-exoression 的值
( -5 < -2 )
是整數值1。所以你有了
1 < -1
并且此運算式的結果為 0,即邏輯假。
來自 C 標準(6.5.8 關系運算子)
6如果指定的關系為真,則每個運算子 <(小于)、>(大于)、<=(小于或等于)和 >=(大于或等于)應產生 1 和 0是假的。結果的型別為 int。
看來你的意思 - 5 < -2 && -2 < -1
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/366238.html
上一篇:無法在C中回傳型別結構
下一篇:輸出檔案去哪里了?
