看板 java 關於我們 聯絡資訊
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