【发布时间】:2023-03-03 17:37:01
【问题描述】:
int foo(int a, int& b, int c) {
int temp = a;
a = b;
b = c;
c = temp;
return a - b;
}
int main() {
**foo(foo(a, b, c), b, foo(a, b, foo(a, b, c)));**
return 0;
}
首先评估哪个 foo 函数调用,为什么? 我发布的代码已简化,因此无需跟踪它。 谢谢
【问题讨论】:
-
UB,参数
b被多次修改。
标签: c++ function arguments expression-evaluation