作者icespiritual (德永心好美)
看板PCSH91_305
標題Re: C語言問題 邊際效應
時間Wed Nov 1 11:35:21 2006
※ 引述《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