作者qazqaz ()
看板C_and_CPP
標題Re: [問題] 關於?:條件執行的問題
時間Fri Nov 9 01:18:26 2012
原文恕刪,感謝解惑:D
先附上書附光碟的程式碼
http://ideone.com/7iFrOc
18行到第24行就是我之前遇到問題的地方
書上的程式碼會沒錯是因為i=3的關係,如果改成4的話就會多跑出一行了
解決方法就如CHeagleeye大所說的加上小括號
以下有節錄書中一些說明
-------------------------------------
(條件式)?程式敘述1:程式敘述2;
當條件式判斷結果為1(真)時,執行程式敘述1,反之則執行程式敘述2。
但在 ?: 運算子內,可選擇執行的程式敘述1與程式敘述2,僅容許為單行敘述,不能利用
大括號加以擴充。也因如此,程式敘述1與程式敘述2的最後不需要加上結尾符號「;」。
但可利用逗號運算子,建立欲執行的多行程式敘述,因為它們將被視為同一行程式敘述,
而不是數行。
-------------------------------------
我想就像azureblaze大所說的,?:是為了讓程式碼更簡單,就如程式碼第27行一樣
不過考試時還是用if...else...比較實在=ˇ=...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.226.30.188
→ MOONRAKER:濫用tertiatary op會戕害心靈(中略)…犯罪。 11/09 01:22
→ IhateOGC: a |= pig?1:0 11/14 00:21