作者dsilver (細數遠星永唱泉水)
看板java
標題[問題] 基礎遞增遞減問題
時間Thu Jan 18 16:58:02 2018
大家好
小弟自學時
遞增遞減這邊
常常搞不懂使用時機
現在遇到書上的題目
由於書上都是沒有解答的
所以我自己寫過後
發現無法解釋給自己聽
以下是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://webptt.com/m.aspx?n=bbs/java/M.1516265886.A.607.html
1F:推 zephyrhymn: 第一題應該是 z = (++x) - (y++), z應該是1才對 01/18 17:24
2F:→ zephyrhymn: 第一眼看到怪怪的 自己試著跑是1才對 01/18 17:25
3F:→ zephyrhymn: 第二題 k = k(1) + (i++(1)) + (++j(2)) 是4無誤 01/18 17:26
4F:→ zephyrhymn: 在這行之後i才會變成2 01/18 17:27
5F:→ zephyrhymn: 第三題 請看成 c = c + (++a) * (b++) 01/18 17:27
6F:→ zephyrhymn: c = c(3) + (++a(4)) * (b++(3)) 01/18 17:28
7F:→ zephyrhymn: c = 3 + 4 * 3 = 15 同樣b會在這行之後變成4 01/18 17:29
8F:→ dsilver: 原來如此,感謝樓上大大!! 01/18 20:48
9F:推 james732: 練習也就算了,實務上請不要寫這樣的東西... 01/19 03:08
10F:→ cha122977: 練習真的沒關係 實務上寫這種真想打爆電腦XD 01/20 01:26
11F:推 pili100: 這種無效的練習…是要殘害多少人 01/25 15:58
12F:→ y3k: 要挑戰這種事情請寫brainfuck謝謝XD 01/25 22:06