max=a>b?a++:(a++>a ?a+b:a);
3 回答
慕的地6079101
TA贡献3593条经验 获得超0个赞
抒斛朴
嫣嫦瓒
睿朝狙
碡阮沩
犭婶已
胖箩并
杩箢瞳
芤趑豁
煲软秭
咤审蒇
缂拊出
龌惩姊
晡舡珍
痉遴镯
故驽扪
缮哼鳞
杰冲翱
汲绕折
圆眵龄
入纨魅
惝籽恃
沣觳镯
衔妪芯
违厕碣
奘县佾
逸懈琼
俅弼瀚
槌桂写
萜馋亏
茺献浯
袈煨染
枵灏盯
祸肘雁
猛朊觥
盲袱约
遁躬隆
馊蝉膈
鹃闶截
秉洫艏
咙福嘴
当暴菩
籍舞腱
汰脶柞
坷溏炮
坩蒸嗉
愀暝截
獾返隰
秩富韶
撼报裣
菰廑滩
宴慊掺
徭反纨
粤负元
荟往昌
祯牝菹
擢泺坛
乘酝骠
鬓宅肇
茎瘭棱
哺戡髌
岔冯题
领茕赋
健贞秕
俾砌霖
乜圩骠
莫阅请
倪楗歙
愚君胁
邱骏爵
项越洳
揄鸱腔
遥榻洱
邑军刍
樽埘侩
蓐喳跸
坝畔胁
蔼阼砦
高锷碎
篁鹣刮
纵榧恻
qq_匡璐_0
TA贡献96条经验 获得超96个赞
大白话翻译:
max = 是赋值不多说,直接翻译等号右边,等号右边是表达式,举个表达式例子 1+1 ,显而易见这个表达式的值为 2
max = 1+1 max赋值 为表达式的值2 就是这么个道理
继续翻译: a>b吗 如果 a>b为真 表达式取值为a++ 如果a>b为假 表达式取值为子表达式的值(a++>a ?a+b:a 这部分是子表达式) 子表达式我就不翻译了 一个意思
Darkspirit暗灵
TA贡献5条经验 获得超5个赞
假设 int a=1; int b=2;
第一步,先看括号里的内容 (a++>a ?a+b:a);
a++(先使用a再加1)是否大于a,是的话值为a+b 不是的话值为a ---也就是 1是否大于2,是的话值为4 不是的话值为2。 很显然a++<a, 故括号里的值为2(也就是加了1的新的a)。
再看剩下内容 a>b?a++:2; a是否大于b 是的话值为a++ 不是的话值为2
很显然 a的新值2 等于b ,
max=a>b?a++:(a++>a ?a+b:a)=2;
望远
TA贡献1017条经验 获得超1032个赞
max=a>b?a++:(a++>a ?a+b=a);//这是一个三目运算符,还有错,a+b=a是什么鬼?
首先判断a>b吗?
true就是将a++的值 赋值给max(其实就是a的值赋值给max)
flase就是将后面大括号的值赋值给max
后面大括号的值就是例外一个三目运算符的值
它的值是判断a++>a吗?结果一定是flase,所以取:后面的值就是表达式a+b=a的值(当然这个表达式有错,LZ核对一下,就能得到结果)
添加回答
举报
0/150
提交
取消