看板 [ CSSE ]
討論串[問題] 2題程式不懂,是要怎麼看呢?
共 3 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓6(6推 0噓 6→)留言12則,0人參與, 最新作者irene6524 (Irene)時間10年前 (2013/07/20 19:31), 編輯資訊
2
0
0
內容預覽:
1.#include <stdio.h>. #include <stdlib.h>. int main(void). {. int a=11,b=11;. a+=a+=b+=b%=b<<2;. printf(" %d ", a );. system("pause");. return 0;. }.
(還有395個字)

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者LPH66 (f0VMRgEBA)時間10年前 (2013/07/25 22:28), 編輯資訊
0
0
0
內容預覽:
OK, 應該確定了一件事. 這式子仍然是未定義行為. 只不過正好我所知的兩種行為得到的結果是一樣的. 問題在於這行程式在一個運算式之中對變數 a 跟 b 修改了兩次以上. 這會導致未定義行為. 只不過這個式子裡有所差別的地方計算出來的結果碰巧是一樣的而已. (有所差別的例子可以看 #1Deo3lyi
(還有236個字)

推噓0(0推 0噓 3→)留言3則,0人參與, 最新作者rocson (rocson)時間9年前 (2014/10/02 16:27), 編輯資訊
0
0
1
內容預覽:
a+=a+=b+=b%=b<<2;. 把簡式還原為正式語法. => [a] = a + (a+=b+=b%=b<<2). => [a] = a + (a = a + (b+=b%=b<<2) ). => [a] = a + (a = a + (b = b + (b%=b<<2) ) ). => [a
(還有354個字)
首頁
上一頁
1
下一頁
尾頁