看板 java 關於我們 聯絡資訊
大家好 小弟自學時 遞增遞減這邊 常常搞不懂使用時機 現在遇到書上的題目 由於書上都是沒有解答的 所以我自己寫過後 發現無法解釋給自己聽 以下是debug結果 https://imgur.com/SNARKsf 第一個問題 x,y,z初始值都是1 z=++x-y++ 是否可以解釋成 z=[(++x)-y]++ 跑出來為2 這樣解釋應該對吧? 第二個問題 ijk初始值都是1 k = k + i++ + ++j 這邊我就看不懂了 為何k會變成4 第三個問題 a,b,c初始值都是3 c+= ++a*b++ 我也搞不懂 他怎麼讓c變15 說實在,在這裡問高手這些問題有些丟臉 但還是請大家幫忙看一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.141.91.23 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1516265886.A.607.html
zephyrhymn: 第一題應該是 z = (++x) - (y++), z應該是1才對 01/18 17:24
zephyrhymn: 第一眼看到怪怪的 自己試著跑是1才對 01/18 17:25
zephyrhymn: 第二題 k = k(1) + (i++(1)) + (++j(2)) 是4無誤 01/18 17:26
zephyrhymn: 在這行之後i才會變成2 01/18 17:27
zephyrhymn: 第三題 請看成 c = c + (++a) * (b++) 01/18 17:27
zephyrhymn: c = c(3) + (++a(4)) * (b++(3)) 01/18 17:28
zephyrhymn: c = 3 + 4 * 3 = 15 同樣b會在這行之後變成4 01/18 17:29
dsilver: 原來如此,感謝樓上大大!! 01/18 20:48
james732: 練習也就算了,實務上請不要寫這樣的東西... 01/19 03:08
cha122977: 練習真的沒關係 實務上寫這種真想打爆電腦XD 01/20 01:26
pili100: 這種無效的練習…是要殘害多少人 01/25 15:58
y3k: 要挑戰這種事情請寫brainfuck謝謝XD 01/25 22:06