最佳答案
在这种情况下,您无法保证函数的执行顺序。
虽然优先规则意味着 f(2)
将乘以 g(5)
,然后再将 h()
添加到结果中,这些子表达式的执行顺序是实现定义的。
如果您使用有副作用的函数来执行此操作,请不要这样做。根据代码的不同,您可能会或可能不会看到不同编译器的结果。
注意:正如@Jakub Zaverka 提到的,当您处理逻辑运算符 &&
或 ||
时,规则略有不同,因为短路等功能。
关于c++ - C中函数执行的优先顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21207904/