[問題] 請教這段程式,在詳述什麼動作?

作者: jenho001 (清香小白蓮)   2018-06-25 12:38:46
i % 2 ? x = x + 1 : x = x + 2
請大俠們解惑
我真看不懂它在講什麼>"<
作者: sarafciel (Cattuz)   2018-06-25 12:42:00
i是奇數的話x+1,i是偶數的話x+2
作者: Killercat (殺人貓™)   2018-06-25 12:43:00
i是2的倍數的話 x=x+1 否則x=x+2 加個括號很好懂(i%2) ? (x=x+1) : (x=x+2)阿我打反 sarafciel的是對的
作者: james732 (好人超)   2018-06-25 13:21:00
if (i % 2 != 0) x = x + 1; else x = x + 2;
作者: wei115 (ㄎㄎ)   2018-06-25 14:19:00
三元運算子
作者: stupid0319 (徵女友)   2018-06-25 16:51:00
x += (2 - i&1)
作者: yvb   2018-06-25 17:50:00
^^^ 要加括號, 不然 - 優先於 & ...而且, ?: 似乎優先於 = 所以要照 3F 寫法, 不然編譯時會錯吧?剛試了一下, x = x + 2 要括, 不過 x = x + 1 可以不括.
作者: cphe (魔鬼藏在垃圾筒裡)   2018-06-25 20:24:00
優先權太容易亂,刮好刮滿人生會省很多力氣
作者: d630200x (DOGE)   2018-06-25 21:16:00
請問一下,為何i%2會等價i%2!=0?我以為會是i%2==0
作者: jerryh001   2018-06-25 21:49:00
i為奇數 -> i%2為1 1為true
作者: sarafciel (Cattuz)   2018-06-25 22:33:00
y大一講我才想起來好像被這個case雷過....括好括滿+1
作者: Sex5F (HTC)   2018-06-25 23:49:00
會考這種問題的公司很雷吧基本上就不會讓他check in了
作者: y3k (激流を制するは静水)   2018-06-25 23:58:00
這個就是考問號而已啊@@
作者: sarafciel (Cattuz)   2018-06-26 00:06:00
如果真的照原PO寫的不括,那就是在考算子優先權了XD惡意的點在於三元運算子優先權算很後面了而且實務上兩個括號就能解決的事拿來考實在很沒意義
作者: loveflames (咕啾咕啾魔法陣)   2018-06-27 10:40:00
如果這是學校考題就算了,如果這是面試題,那你最好別去這種公司,因為去鑽運算子優先權是非常沒營養的事不要浪費時間研究這個對你比較好
作者: Schottky (順風相送)   2018-06-27 12:37:00
非常同意樓上
作者: Neisseria (Neisseria)   2018-06-27 23:27:00
同意樓樓上
作者: cphe (魔鬼藏在垃圾筒裡)   2018-06-28 14:26:00
偏偏很多公司很愛出這種題目,考的不是觀念,而是記憶力說實在是蠻無聊的
作者: yzfr6 (扮關二哥!)   2018-07-02 23:55:00
純學術派的寫法 or 賣弄式寫法

Links booklink

Contact Us: admin [ a t ] ucptt.com