社区讨论
关于min(a(),b())引发的问题
学术版参与者 8已保存回复 12
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 11 条
- 当前快照
- 1 份
- 快照标识符
- @lus4gq4h
- 此快照首次捕获于
- 2024/04/09 16:31 2 年前
- 此快照最后确认于
- 2024/04/09 19:38 2 年前
rt
CPP#include <iostream>
using namespace std;
int a() {return puts("A"),1;}
int b() {return puts("B"),2;}
int main() {
cout << min(a(), b()) << " ";
return 0;
}
输出
B
A
1
B
A
1
由输出可知,此代码会优先运行b()再运行a()
经尝试,似乎如min,max等函数的参数中若有其他函数时,将会从后往前先运行完那些函数,再运行自己。
这些行为背后的原理是什么?还是说这是c++的特性?还请大佬指教。
回复
共 12 条回复,欢迎继续交流。
正在加载回复...