看板 C_and_CPP 關於我們 聯絡資訊
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://www.ptt.cc/bbs/C_and_CPP/M.1529901528.A.731.html
sarafciel: i是奇數的話x+1,i是偶數的話x+2 06/25 12:42
Killercat: i是2的倍數的話 x=x+1 否則x=x+2 加個括號很好懂 06/25 12:43
Killercat: (i%2) ? (x=x+1) : (x=x+2) 06/25 12:43
Killercat: 阿我打反 sarafciel的是對的 06/25 12:44
james732: if (i % 2 != 0) x = x + 1; else x = x + 2; 06/25 13:21
wei115: 三元運算子 06/25 14:19
stupid0319: x += (2 - i&1) 06/25 16:51
yvb: ^^^ 要加括號, 不然 - 優先於 & ... 06/25 17:50
yvb: 而且, ?: 似乎優先於 = 所以要照 3F 寫法, 不然編譯時會錯吧? 06/25 17:59
yvb: 剛試了一下, x = x + 2 要括, 不過 x = x + 1 可以不括. 06/25 18:05
cphe: 優先權太容易亂,刮好刮滿人生會省很多力氣 06/25 20:24
d630200x: 請問一下,為何i%2會等價i%2!=0?我以為會是i%2==0 06/25 21:16
jerryh001: i為奇數 -> i%2為1 1為true 06/25 21:49
sarafciel: y大一講我才想起來好像被這個case雷過....括好括滿+1 06/25 22:33
Sex5F: 會考這種問題的公司很雷吧 06/25 23:49
Sex5F: 基本上就不會讓他check in了 06/25 23:50
y3k: 這個就是考問號而已啊@@ 06/25 23:58
sarafciel: 如果真的照原PO寫的不括,那就是在考算子優先權了XD 06/26 00:06
sarafciel: 惡意的點在於三元運算子優先權算很後面了 06/26 00:08
sarafciel: 而且實務上兩個括號就能解決的事拿來考實在很沒意義 06/26 00:17
loveflames: 如果這是學校考題就算了,如果這是面試題,那你最好別 06/27 10:40
loveflames: 去這種公司,因為去鑽運算子優先權是非常沒營養的事 06/27 10:40
loveflames: 不要浪費時間研究這個對你比較好 06/27 10:41
Schottky: 非常同意樓上 06/27 12:37
Neisseria: 同意樓樓上 06/27 23:27
cphe: 偏偏很多公司很愛出這種題目,考的不是觀念,而是記憶力 06/28 14:26
cphe: 說實在是蠻無聊的 06/28 14:26
yzfr6: 純學術派的寫法 or 賣弄式寫法 07/02 23:55