#include <iostream>using namespace std;main(){int i = 5;cout << i++ << i--<< ++i << --i << i << endl;}上面用g ++編譯的程序輸出:45555而下面的程序:int x=20,y=35;x =y++ + y + x++ + y++;cout << x<< endl << y;給出結果為12637誰能解釋一下輸出結果。
3 回答

LEATH
TA貢獻1936條經驗 獲得超7個贊
第二個程序的表達式的結果是不確定的。甚至允許編譯器使您的計算機著火:-)不允許您在一個序列點內兩次修改變量(在這種情況下為from =到;)。
編輯:
有關詳細說明,請參見C FAQ,特別是問題3.2。
- 3 回答
- 0 關注
- 592 瀏覽
添加回答
舉報
0/150
提交
取消