作者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/m.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