看板 Grad-ProbAsk 關於我們 聯絡資訊
請問 a = 22 c = ++a + ++a; 答案是多少呢? 我覺得是 c = (22+1) + (23+1) = 23 + 24 = 47 但是有人說是 c = 24 + 24 意思是說 在加號運算以前 後面的a++就已經運算了嗎? 就會被判定為24然後再相加嗎? 請問現在的c++是怎麼設定的呢? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.208.190
bighead319:你自己寫個C程式run一次不就知道了 06/26 00:57
SONGya168:標題: 科目-問題所屬章節或類型 ex: 程式語言-C++ 06/26 01:05
fish0835:因為++a的優先權為這個敘述之最高! 06/26 01:38
fish0835:所以先執行兩次的++a才將兩個a加起來!答案是48~ 06/26 01:38
FRAXIS:嚴格來說是不會有答案的.. 因為是未定義行為 06/26 08:22
sasbluesea:undefined behavior 06/26 11:48
clement80161:http://tinyurl.com/nl6tx5 06/26 12:51
clement80161:這個網址講得不錯 06/26 12:51
話說今年台科電子面試就考這種的... 不知道真的遇到題目的時候 這類型題目該如何計算 ※ 編輯: guanrulee 來自: 61.228.208.209 (06/26 14:46)
ssccg:面試的話當然是回答未定義行為,順便抱怨這種題目很無聊啊 06/26 20:50
老師有執行c++告訴我答案錯了... ※ 編輯: guanrulee 來自: 220.139.209.134 (06/26 22:29)
RULELOSER:執行過 答案是...47 06/27 00:27
ssccg:老師執行結果又不重要,換個compiler答案就不一樣了 06/27 02:37
XD 我用上面板友說的C 結果出來答案是48.. ※ 編輯: guanrulee 來自: 61.228.203.171 (06/27 13:58)
MysterySW:C++板十誡之九 06/27 22:10