楼主:
jenho001 (清香小白莲)
2018-06-25 12:38:46i % 2 ? x = x + 1 : x = x + 2
请大侠们解惑
我真看不懂它在讲什么>"<
i是2的倍数的话 x=x+1 否则x=x+2 加个括号很好懂(i%2) ? (x=x+1) : (x=x+2)阿我打反 sarafciel的是对的
if (i % 2 != 0) x = x + 1; else x = x + 2;
作者:
wei115 (ㄎㄎ)
2018-06-25 14:19:00三元运算子
作者: yvb 2018-06-25 17:50:00
^^^ 要加括号, 不然 - 优先于 & ...而且, ?: 似乎优先于 = 所以要照 3F 写法, 不然编译时会错吧?刚试了一下, x = x + 2 要括, 不过 x = x + 1 可以不括.
作者:
cphe (魔鬼藏在垃圾筒里)
2018-06-25 20:24:00优先权太容易乱,刮好刮满人生会省很多力气
请问一下,为何i%2会等价i%2!=0?我以为会是i%2==0
作者: jerryh001 2018-06-25 21:49:00
i为奇数 -> i%2为1 1为true
y大一讲我才想起来好像被这个case雷过....括好括满+1
作者:
Sex5F (HTC)
2018-06-25 23:49:00会考这种问题的公司很雷吧基本上就不会让他check in了
作者:
y3k (激流を制するは静水)
2018-06-25 23:58:00这个就是考问号而已啊@@
如果真的照原PO写的不括,那就是在考算子优先权了XD恶意的点在于三元运算子优先权算很后面了而且实务上两个括号就能解决的事拿来考实在很没意义
如果这是学校考题就算了,如果这是面试题,那你最好别去这种公司,因为去钻运算子优先权是非常没营养的事不要浪费时间研究这个对你比较好
作者:
Neisseria (Neisseria)
2018-06-27 23:27:00同意楼楼上
作者:
cphe (魔鬼藏在垃圾筒里)
2018-06-28 14:26:00偏偏很多公司很爱出这种题目,考的不是观念,而是记忆力说实在是蛮无聊的
作者:
yzfr6 (扮关二哥!)
2018-07-02 23:55:00纯学术派的写法 or 卖弄式写法