作者honyihon (lantis)
看板java
標題[問題] 幾個簡單卻又複雜的題目
時間Tue Nov 22 00:38:43 2011
int x=3,y=3,z=3;
z+=++x*y++;
這題由程式跑出的 結果 x y z 的值分別為 4 4 15
可是正常我們分析 ++x 為4 y++為4 程式應該變成 z+=4*4 ,也就是 z=z+4*4 z的值依照
這個思路應該是 3+4*4 也就是 19 ,哪邊思路出現問題?
---------------------------------------------------
int a=3,b=4,c=5;
a+=b*++c;
跑出來的結果 a,b,c 分別為 27 , 4 ,6
要怎樣改一個運算子才能使答案變成 23 , 4 ,6
各位是怎樣想的......
--------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.253.112.9
→ awert:y++在當下是3 11/22 00:42
→ bera:改成a+=b*c++ 我是這樣想 11/22 01:38
→ comeonbaby:樓上++好像放錯位了? 這就是典型的++x和x++的差別問題 11/22 01:43
→ comeonbaby:誤會b大了 以為第一題 sor orz... 11/22 01:45
→ bera:第1題1樓已經說明囉, 我的記法是y++的++在後面, 是後面才動作 11/22 01:59
→ bera:所以3先指派給y 然後去做z+=++x*y++運算 算完後 再做++(加1) 11/22 02:02
推 MephistoH:++在後面就是最後做 11/22 09:35
→ luoqr:不過拜託以後出去工作不要這樣寫 XD 11/23 00:15
推 wemee:int c=3; c=c++ + ++c; c變多少? 11/28 07:11