❶ 關於C語言的求值順序
"系統對求值順序規定不拿或一樣" 說明在不同的系統(其實是編譯器)下的順序是不一樣的, 你只在 VC 環境下試了, 你還沒在其它環境下試過!
其實這個求值順序的根本原因是函數調用時, 參數的壓棧順序所決定的, 先被壓入的, 就先被求值;
這相順序沒有標准, 所以不同環境的默認有可能不同, 但現在多數宴銀的編譯器都有這方面的擴展, 如 __stdcall 什麼, 這些擴展的其中一個功能就是指定什麼樣的壓棧順序.
同一個表達式中使用導致同一對象修改兩次或修改以後又被引用的晌敏宴自增, 自減和賦值操作符的任何組合的結果在 C/C++ 標准里沒有規定, 所以各個編譯器的行為是不確定的!