※ 引述《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是奇數或偶數來決定要執行哪一個
話說,如果看到有人這樣寫,先尻他一拳.......
作者:
y3k (激流を制するは静水)
2018-06-26 00:00:00其實這寫法很基本 只是可以的話加個括號
作者:
cphe (魔鬼藏在垃圾筒裡)
2018-06-26 00:43:00這寫法算常見,尤其在if else只有一行情況或是要return不同值更簡潔,複雜條件時括號括滿就好
作者: s9041200 (小明阿) 2018-06-26 00:57:00
要寫也寫成 x += i%2 ? 1 : 2 也比較好吧
作者: FrozenMoment 2018-06-26 07:45:00
推s大,原來的寫法個人覺得蠻差的
作者:
PkmX (阿貓)
2018-06-26 10:48:00x += 2 - i%2; (╯°□°)╯︵ ┴━┴
x += (2 >> i%2); (╯°□°)╯︵ ┴━┴
作者: jerryh001 2018-06-26 15:38:00
x-=-(x&2? x%2==1 : 2) (╯°□°)╯︵ ┴━┴x-=-(x&1? x%2==1 : 2) (╯°□°)╯︵ ┴━┴應該這樣才對
作者:
PkmX (阿貓)
2018-06-26 15:43:00樓上你的i呢?
作者: jerryh001 2018-06-26 15:45:00
x-=-(i&1? i%2==1 : 2) (╯°□°)╯︵ ┴━┴再翻一次桌 (╯°□°)╯︵ ┴━┴
作者:
PkmX (阿貓)
2018-06-27 11:53:00x += (1 << (~i&1)) (喂