Re: [問題] 初學遇到問題
看板C_and_CPP (C/C++)作者LPH66 ((short)(-15074))時間16年前 (2009/08/17 05:00)推噓7(7推 0噓 5→)留言12則, 8人參與討論串2/3 (看更多)
※ 引述《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
推
08/17 07:34, , 1F
08/17 07:34, 1F
推
08/17 08:29, , 2F
08/17 08:29, 2F
推
08/17 09:59, , 3F
08/17 09:59, 3F
推
08/17 11:32, , 4F
08/17 11:32, 4F
→
08/17 11:50, , 5F
08/17 11:50, 5F
推
08/17 11:58, , 6F
08/17 11:58, 6F
→
08/17 13:39, , 7F
08/17 13:39, 7F
→
08/17 13:41, , 8F
08/17 13:41, 8F
推
08/17 13:43, , 9F
08/17 13:43, 9F
→
08/17 13:50, , 10F
08/17 13:50, 10F
推
08/17 17:28, , 11F
08/17 17:28, 11F
→
08/17 17:29, , 12F
08/17 17:29, 12F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章