課程
/后端開發
/C
/C語言入門
90<=score<=100
? 這個算不算是表達式 ,我用在if (90<=score<=100)語句里面沒有什么用 好像根本沒有判斷啊
2015-07-30
源自:C語言入門 4-16
正在回答
這樣寫不能實現你想要的邏輯,但這表達式本身是合法的復合表達式。
這個表達式由兩個關系運算符組成,關系運算符是左結合的,故C語言是這樣解釋這個表達式的:
先看左邊的90<=score,這個關系運算表達式的結果是布爾值:true or false
然后表達式就變成了 “前次布爾結果”<= 100,這還是一個關系運算表達式,前次的bool結果如果為ture就會自動轉換為整型1,這樣整個表達式就變成了 1 <= 100。同理,前次bool為false的話,整個表達式就成了 0 <=?100。
不管前面是0還是1,都小于100,所以整個表達式永遠為true
按照你的邏輯,應該寫成邏輯與表達式: 90 <= score && score <= 100
解釋得很有道理.
解釋得很詳細謝謝
不算表達式,建議這么寫
if(90<=score&&score<=100)
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
3 回答score>=0&&score<=100???
1 回答if(10000>score>=5000)和if(score>=5000)有區別嗎?
5 回答if(1000<=score<5000)這里
1 回答為什么if后面是score<=10000,而不是score>=10000呢
3 回答#include <stdio.h> int main() { int score = 7200; //完善一下代碼 if(score>=10000) { printf("鉆石玩家"); } else if(score>=5000) { printf("白金玩家"); } else if(score>=1000) { printf("青銅玩家"); }
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-07-31
這樣寫不能實現你想要的邏輯,但這表達式本身是合法的復合表達式。
這個表達式由兩個關系運算符組成,關系運算符是左結合的,故C語言是這樣解釋這個表達式的:
先看左邊的90<=score,這個關系運算表達式的結果是布爾值:true or false
然后表達式就變成了 “前次布爾結果”<= 100,這還是一個關系運算表達式,前次的bool結果如果為ture就會自動轉換為整型1,這樣整個表達式就變成了 1 <= 100。同理,前次bool為false的話,整個表達式就成了 0 <=?100。
不管前面是0還是1,都小于100,所以整個表達式永遠為true
按照你的邏輯,應該寫成邏輯與表達式: 90 <= score && score <= 100
2015-10-30
解釋得很有道理.
2015-08-06
解釋得很詳細謝謝
2015-07-30
不算表達式,建議這么寫