3 回答

TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超0個(gè)贊

TA貢獻(xiàn)96條經(jīng)驗(yàn) 獲得超96個(gè)贊
大白話翻譯:
max = 是賦值不多說,直接翻譯等號右邊,等號右邊是表達(dá)式,舉個(gè)表達(dá)式例子 1+1 ,顯而易見這個(gè)表達(dá)式的值為 2
?max = 1+1 ? max賦值 為表達(dá)式的值2 就是這么個(gè)道理
繼續(xù)翻譯: a>b嗎 如果 a>b為真 表達(dá)式取值為a++ ?如果a>b為假 表達(dá)式取值為子表達(dá)式的值(a++>a ?a+b:a ? 這部分是子表達(dá)式) 子表達(dá)式我就不翻譯了 一個(gè)意思 ?

TA貢獻(xiàn)5條經(jīng)驗(yàn) 獲得超5個(gè)贊
假設(shè) int a=1; ?int b=2;
第一步,先看括號里的內(nèi)容 ? (a++>a ?a+b:a);
a++(先使用a再加1)是否大于a,是的話值為a+b 不是的話值為a ? ? ---也就是 ? 1是否大于2,是的話值為4 不是的話值為2。 ?很顯然a++<a, 故括號里的值為2(也就是加了1的新的a)。
再看剩下內(nèi)容 ?a>b?a++:2; ? ?a是否大于b ?是的話值為a++ 不是的話值為2?
很顯然 a的新值2 等于b ,?
max=a>b?a++:(a++>a ?a+b:a)=2;

TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個(gè)贊
max=a>b?a++:(a++>a??a+b=a);//這是一個(gè)三目運(yùn)算符,還有錯,a+b=a是什么鬼?
首先判斷a>b嗎?
true就是將a++的值?賦值給max(其實(shí)就是a的值賦值給max)
flase就是將后面大括號的值賦值給max
后面大括號的值就是例外一個(gè)三目運(yùn)算符的值
它的值是判斷a++>a嗎?結(jié)果一定是flase,所以取:后面的值就是表達(dá)式a+b=a的值(當(dāng)然這個(gè)表達(dá)式有錯,LZ核對一下,就能得到結(jié)果)
添加回答
舉報(bào)