看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Waterpig (waterpig)》之銘言: : (i>3)? : printf("Integer "), : printf("i>3\n") : : : printf("Integer "), : printf("i<=3\n") : ; 是這樣的 這個式子是長成這個樣子: (X)?Y,Z:U,V; 運算子優先序中 逗號最低 所以這個就被看成 ((X)?Y,Z:U),V; 這樣一來 V 就成了一定會執行的指令 無論 X 成立與否 這也就是為什麼會多印那一行的原因了 --- 至於 Y,Z 不會被拆開的原因則是因為它們被 ? : 包住了 無論如何 被 ? : 包起來的東西就像是包了層括號一樣 (只是左括號成 ? 右括號變成 : 而已) 所以中間的式子就會強制一起看 在那之後才用 , 分開 --- 所以除非要寫暗黑 code, 不然 ? : 和 , 合用實在很容易出事.... -- 'Oh, Harry, dont't you see?' Hermione breathed. 'If she could have done one thing to make absolutely sure that every single person in this school will read your interview, it was banning it!' ---'Harry Potter and the order of the phoenix', P513 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.250.80
Waterpig:了解~感謝解答 08/17 07:34
christianSK:我也不甚了解 也謝謝~ 08/17 08:29
VictorTom:老實說,小弟覺得這種code真是噁心,這樣寫到底好處在哪?? 08/17 09:59
williamyu:基本上沒有什麼好處.... 08/17 11:32
netsphere:看起來很厲害 08/17 11:50
ledia:磨練 debug 時的耐心吧 08/17 11:58
MOONRAKER:怎麼都沒有人懷疑為什麼初學就會學到這種code 08/17 13:39
MOONRAKER:是誰寫這種戕害身心的書啊 08/17 13:41
VictorTom:樓上M大說的真是中肯....XD 08/17 13:43
james732:同意MOONRAKER 這種程式出現在初學書 實在很怪.... 08/17 13:50
Waterpig:我是看"C/C++入門進階" 作者是郭尚君 這邊只是接受?:用法 08/17 17:28
Waterpig: ^介紹 08/17 17:29