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