Re: [問題] 程式語言
: ----------------------------------------------------------------------------
: (*n) = 12;
: 上述的是這樣嗎??*n=(*n)+++--*n-*n = {(*n)++}+{--*n}-{*n}=13+11-12=12
: printf(x)=??
不知道為什麼換了兩個環境跑答案都不是11... (我是剛加入新手...)
不過剛剛查了一下資料,計算出來應該是11的說
http://openstudy.com/updates/4df1b1b90b8b370c28bb8525
*n = (*n)++ + --*n -*n;
程式是由右至左丟進stack
所以第一個裝的是12 再裝減號裡面有減號跟12
然後丟--*n進去 減減後值是11 stack裡面就有11-12 所以是-1裝進去
先丟加號,再丟(*n)++進去 算式變成 11+(-1) 全部計算完後要++
所以答案是11
請問這樣對嗎??
因為跑程式結果都不是11,所以想問一下,謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.117.83
→
12/31 17:34, , 1F
12/31 17:34, 1F
→
12/31 18:20, , 2F
12/31 18:20, 2F
→
12/31 18:21, , 3F
12/31 18:21, 3F
→
12/31 18:21, , 4F
12/31 18:21, 4F
→
12/31 18:22, , 5F
12/31 18:22, 5F
討論串 (同標題文章)