看板 PCSH91_305 關於我們 聯絡資訊
※ 引述《nfsong (我要當總圖的怪老頭)》之銘言: : #include <stdio.h> : int main () : { // insert code here... : int result,a; : a=1; : result=(a++*5)+(a++*3); : printf("%d\n",result); return 0;} : 為啥我出來是8 : 按照課本應該是5+6=11 : 或是10+3=13 : 答案是8應該是都沒有做++的運算ㄝ 我跑出來也是8耶 我猜應該是因為a++要等到這個statement結束才會加一吧,所以result = 5 + 3 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.29.131
nfsong:++a 等於10+9=19 可是這樣就沒邊際效應的問題了 11/01 12:48
nfsong:他先運算第一個遇到的 沒有先後的問題... 11/01 12:49
nfsong:那要怎樣寫才會出現 執行順序的不同 我想想 11/01 12:59
nfsong:那要怎樣才能把輸出寫在statement外面勒 11/01 13:11
nfsong:ㄝ 先執行第一個 其實已經算是 邊際效應了ㄝ 11/01 13:14
nfsong:因為兩個優先權相同 所以19是2*5+3*3 11/01 13:14
nfsong:另一個答案可能是3*5+2*3=21 11/01 13:15
Habowbow:這個哪有這麼複雜...乃夫你想太多了吧 11/01 15:00