運算子優先權和求值順序之間有什麼關係?
與通俗理解相反,運算子優先順序並不能完全決定求值的順序程式中的評估。雖然優先權控制值計算的順序,但操作數本身的求值仍然獨立於優先權。
範例:
考慮表達式 x
y push(z); push(y); push(x); test_less(); // compares TOS to TOS(1), pushes result on stack test_less(); // compares TOS to TOS(1), pushes result on stack這會在 x 或 y 之前計算 z,但仍會計算 (x 評估和副作用:副作用,例如從概念上講,遞增或遞減變數是由單獨的執行緒執行的。該線程在下一個序列點加入。考慮表達式 a = b c;。它可以如下執行:push(a); push(b); push(c+1); side_effects_thread.queue(inc, b); side_effects_thread.queue(inc, c); add(); assign(); join(side_effects_thread);
以上是程式設計中運算子優先權與求值順序有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!