【发布时间】:2013-08-08 06:16:14
【问题描述】:
下面的程序输出 10。我希望它首先打印 0(函数 f 的 else 分支),然后打印 1。为什么顺序颠倒了?
#include <iostream>
using namespace std;
int f(bool& b){
if (b==true){
return 1;
} else {
b=true;
return 0;
}
}
int main () {
bool b=false;
cout<<unitbuf<<f(b)<<unitbuf<<f(b);
return 0;
}
输出
10
【问题讨论】: