首頁  >  文章  >  後端開發  >  C 中是否保證了「a b」中操作數的求值順序?

C 中是否保證了「a b」中操作數的求值順序?

Linda Hamilton
Linda Hamilton原創
2024-10-31 23:05:29711瀏覽

Is the evaluation order of operands in `a   b` guaranteed in C  ?

C 中操作數的計算順序

計算涉及多個運算元的表達式時,了解它們的處理順序至關重要。在 a b 的具體情況下,a 是否保證在 b 之前被求值,或順序是不確定的?

根據C 標準:

對於使用者定義型別:

  • a b 被視為函數調用,參數計算的順序是未指定

對於常規運算子:

  • 運算元和子運算式的求值順序通常是未指定。然而,在 C 11 中,措辭改為“無序”,本質上是同一件事。

因此,在 C 和 C 中,表達式 a b 中 a 和 b 的求值順序為不是由語言規範決定的。它可能會根據編譯器最佳化和硬體架構等因素而有所不同。

以上是C 中是否保證了「a b」中操作數的求值順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn