看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《jenho001 (清香小白蓮)》之銘言: : i % 2 ? x = x + 1 : x = x + 2 : 請大俠們解惑 : 我真看不懂它在講什麼>"< ※ 引述《jenho001 (清香小白蓮)》之銘言: : i % 2 ? x = x + 1 : x = x + 2 : 請大俠們解惑 : 我真看不懂它在講什麼>"< 程式有一個寫法 A ? B : C 意思是A如果成立(true),就執行B,要不然就執行C 把這個程式分成兩部分來看就比較容易了 i%2 ? x=x+1 : x=x+2 i%2是否為true,如果成立就執行x=x+1,否則執行 x=x+2 i%2 的結果不是0就是1 所以就會等於看i是奇數或偶數來決定要執行哪一個 -- 追求卓越,成功就會出其不意找上門。 Follow Excellence. Success will chase you. Chase the excellence, success will follow you. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.233.243 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1529936282.A.941.html
flydragon198: 話說,如果看到有人這樣寫,先尻他一拳....... 06/25 22:36
y3k: 其實這寫法很基本 只是可以的話加個括號 06/26 00:00
cphe: 這寫法算常見,尤其在if else只有一行情況或是要return不同 06/26 00:43
cphe: 值更簡潔,複雜條件時括號括滿就好 06/26 00:43
s9041200: 要寫也寫成 x += i%2 ? 1 : 2 也比較好吧 06/26 00:57
Schottky: 同意樓上。還有括號真的不需要省著用。 06/26 02:17
FrozenMoment: 推s大,原來的寫法個人覺得蠻差的 06/26 07:45
PkmX: x += 2 - i%2; (╯°□°)╯︵ ┴━┴ 06/26 10:48
shadow0326: x += (2 >> i%2); (╯°□°)╯︵ ┴━┴ 06/26 14:32
jerryh001: x-=-(x&2? x%2==1 : 2) (╯°□°)╯︵ ┴━┴ 06/26 15:38
jerryh001: x-=-(x&1? x%2==1 : 2) (╯°□°)╯︵ ┴━┴ 06/26 15:39
jerryh001: 應該這樣才對 06/26 15:39
PkmX: 樓上你的i呢? 06/26 15:43
jerryh001: x-=-(i&1? i%2==1 : 2) (╯°□°)╯︵ ┴━┴ 06/26 15:45
jerryh001: 再翻一次桌 (╯°□°)╯︵ ┴━┴ 06/26 15:46
stupid0319: x += (2 >> (i&1)) 06/26 19:46
PkmX: x += (1 << (~i&1)) (喂 06/27 11:53
sarafciel: 我只是來翻桌的 (╯°□°)╯︵ ┴━┴ 06/27 12:27