[問題] 幾個簡單卻又複雜的題目

看板java作者 (lantis)時間14年前 (2011/11/22 00:38), 編輯推噓2(207)
留言9則, 6人參與, 最新討論串1/2 (看更多)
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

11/22 00:42, , 1F
y++在當下是3
11/22 00:42, 1F

11/22 01:38, , 2F
改成a+=b*c++ 我是這樣想
11/22 01:38, 2F

11/22 01:43, , 3F
樓上++好像放錯位了? 這就是典型的++x和x++的差別問題
11/22 01:43, 3F

11/22 01:45, , 4F
誤會b大了 以為第一題 sor orz...
11/22 01:45, 4F

11/22 01:59, , 5F
第1題1樓已經說明囉, 我的記法是y++的++在後面, 是後面才動作
11/22 01:59, 5F

11/22 02:02, , 6F
所以3先指派給y 然後去做z+=++x*y++運算 算完後 再做++(加1)
11/22 02:02, 6F

11/22 09:35, , 7F
++在後面就是最後做
11/22 09:35, 7F

11/23 00:15, , 8F
不過拜託以後出去工作不要這樣寫 XD
11/23 00:15, 8F

11/28 07:11, , 9F
int c=3; c=c++ + ++c; c變多少?
11/28 07:11, 9F
文章代碼(AID): #1EodwNto (java)
文章代碼(AID): #1EodwNto (java)