作者jenho001 (清香小白莲)
看板C_and_CPP
标题[问题] 请教这段程式,在详述什麽动作?
时间Mon Jun 25 12:38:46 2018
i % 2 ? x = x + 1 : x = x + 2
请大侠们解惑
我真看不懂它在讲什麽>"<
--
posted from bbs reader hybrid on my Xiaomi Redmi Note 4
--
╭╧╮╭╧╮╭╧╮╭╧╮╭╧╮ ╭╧╮╭╮☆
║天│║天│║好│║心│║情│ ║!│ ╰●╮
╘∞╛╘∞╛╘∞╛╘∞╛╘∞╛ ╘∞╛ ◆╰★
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.74.54.248
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1529901528.A.731.html
1F:→ sarafciel: i是奇数的话x+1,i是偶数的话x+2 06/25 12:42
2F:推 Killercat: i是2的倍数的话 x=x+1 否则x=x+2 加个括号很好懂 06/25 12:43
3F:→ Killercat: (i%2) ? (x=x+1) : (x=x+2) 06/25 12:43
4F:→ Killercat: 阿我打反 sarafciel的是对的 06/25 12:44
5F:→ james732: if (i % 2 != 0) x = x + 1; else x = x + 2; 06/25 13:21
6F:推 wei115: 三元运算子 06/25 14:19
7F:推 stupid0319: x += (2 - i&1) 06/25 16:51
8F:→ yvb: ^^^ 要加括号, 不然 - 优先於 & ... 06/25 17:50
9F:→ yvb: 而且, ?: 似乎优先於 = 所以要照 3F 写法, 不然编译时会错吧? 06/25 17:59
10F:→ yvb: 刚试了一下, x = x + 2 要括, 不过 x = x + 1 可以不括. 06/25 18:05
11F:推 cphe: 优先权太容易乱,刮好刮满人生会省很多力气 06/25 20:24
12F:推 d630200x: 请问一下,为何i%2会等价i%2!=0?我以为会是i%2==0 06/25 21:16
13F:推 jerryh001: i为奇数 -> i%2为1 1为true 06/25 21:49
14F:→ sarafciel: y大一讲我才想起来好像被这个case雷过....括好括满+1 06/25 22:33
15F:→ Sex5F: 会考这种问题的公司很雷吧 06/25 23:49
16F:→ Sex5F: 基本上就不会让他check in了 06/25 23:50
17F:→ y3k: 这个就是考问号而已啊@@ 06/25 23:58
18F:→ sarafciel: 如果真的照原PO写的不括,那就是在考算子优先权了XD 06/26 00:06
19F:→ sarafciel: 恶意的点在於三元运算子优先权算很後面了 06/26 00:08
20F:→ sarafciel: 而且实务上两个括号就能解决的事拿来考实在很没意义 06/26 00:17
21F:→ loveflames: 如果这是学校考题就算了,如果这是面试题,那你最好别 06/27 10:40
22F:→ loveflames: 去这种公司,因为去钻运算子优先权是非常没营养的事 06/27 10:40
23F:→ loveflames: 不要浪费时间研究这个对你比较好 06/27 10:41
24F:推 Schottky: 非常同意楼上 06/27 12:37
25F:推 Neisseria: 同意楼楼上 06/27 23:27
26F:推 cphe: 偏偏很多公司很爱出这种题目,考的不是观念,而是记忆力 06/28 14:26
27F:→ cphe: 说实在是蛮无聊的 06/28 14:26
28F:→ yzfr6: 纯学术派的写法 or 卖弄式写法 07/02 23:55