[英]Precedence order of function execution in C
在這種情況下,您無法保證函數的執行順序。
雖然優先規則意味着在將h()
添加到結果之前將f(2)
乘以g(5)
,但這些子表達式的執行順序是實現定義的。
如果您使用具有副作用的功能執行此操作,請不要這樣做。 根據代碼,您可能會看到編譯器到編譯器的不同結果,也可能看不到。
注意:正如@Jakub Zaverka所提到的,當您處理邏輯運算符&&
或||
時,規則略有不同 因為短路等功能。
f(2)
, g(5)
和h()
以任何順序執行。
f()
和g()
結果相乘。 然后將該產品添加到h()
的結果中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.