看板 Soft_Job 關於我們 聯絡資訊
今天在編 2.4 kernel 的時候, 學到了一個我之前都不知道的東西, 寫出來考考大家。 #include <stdio.h> int main() { int x = 5; ((void)0, x)++; printf("%d\n", x); return 0; } 請問這段程式碼有什麼問題?為什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.237.164
xam:這種題目沒有意義... 06/07 04:51
achii:有蠢蛋會這樣寫程式 06/07 09:23
comate:要買 LV 還是要買 RV 06/07 09:45
clubflymf:糟糕..我被考倒了...@@ 06/07 11:00
iincho:工作會寫這種程式的直接先火掉...XD 06/07 12:11
in09:哈 和 C/C++ 版的反應差好多 06/07 12:28
james732:跟樓上同感 XD 06/07 12:35
GregHowe:........你還是繼續編你的kernel吧 06/07 13:22
Axcic:請問一下 這一行 ((void)0, x)++; 是什麼意思? 06/07 14:23
in09:樓上可以去 C_And_C++ 版看, 推文有解釋 06/07 14:28
onear:看了C++板,不過不懂這樣寫的原因是? 06/07 15:37
xsoho:學到新東西 @@ 06/07 15:56
ardanus:Linux hacker壞習慣很多,尤其喜歡罕用的語法~~ 06/07 16:22
ardanus:http://en.wikipedia.org/wiki/Comma_operator 參考看看 06/07 16:33
ggg12345:用((void)911.0E-119,x)++;不更有戲劇效果?比備註 聳動! 06/07 16:37
airzone:哈,在團隊裡寫出這種code 會被叫起來罵 06/07 19:48
StubbornLin:惡心 寫出來就等著被開除吧= = 06/07 19:58
ykjiang:我也是建議把寫這種 code 的開除掉 :p 06/07 22:41
kerickuo:看哪個產業啦,這個例子舉得不好就是了。comma operator 06/08 09:43
kerickuo:在某些情況下還是會用到,只是不是高手別亂用就是了。 06/08 09:44
kerickuo:亂用又不知道為什麼用,那就掰掰比較快。 06/08 09:45
ykjiang:沒人說 camma operator 不能用,要看怎麼用, 06/08 17:08
ykjiang:像 http://tinyurl.com/lzv9b2 就不錯 06/08 17:09
ykjiang:    comma 06/08 17:31
luke93:把macro寫成多行就好了,還是不需用到comma operator 12/10 19:34
luke93:用comma operator寫成一行跟一般分成兩行寫速度依舊一樣 12/10 19:35
luke93:除了耍帥以外實在沒什麼用途,雞助一個 12/10 19:37