首頁 >後端開發 >C++ >什麼決定了 C 和 C 中函數參數的求值順序?

什麼決定了 C 和 C 中函數參數的求值順序?

Susan Sarandon
Susan Sarandon原創
2024-12-21 06:35:10472瀏覽

What Determines the Evaluation Order of Function Parameters in C and C  ?

函數參數求值順序

在 C 和 C 中,語言標準未指定函數參數求值的順序。

評估順序

根據C99標準,參數的評估順序是未指定的。然而,在實際函數呼叫之前有一個序列點,這表示所有參數求值都保證在函數執行之前完成。

在 C 中,參數求值的順序也是未指定的。所有參數表達式的副作用都發生在函數輸入之前。

函數呼叫實作

C 和 C 標準不要求使用硬體來實作函式呼叫堆。這是留給編譯器和平台的實作細節。然而,在實踐中,大多數流行的架構確實使用硬體堆疊進行參數傳遞。

衝突訊息

參數評估順序的混亂可能是由於資訊不完整或不正確而引起的。圖書。語言標準是有關該主題的權威資訊來源。官方 C99 和 C11 草案以及公共 C 草案可在線獲取,並就此事提供明確的指導。

以上是什麼決定了 C 和 C 中函數參數的求值順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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