以下程序包括简单的递增和递减操作。正如我的预测,程序应该打印“0 1 1 1”,但它打印“1 0 2 0”而不是,为什么?
#include<iostream>
using namespace std;
int main(void)
{
int i=0;
cout<<i++<<" "<<i++<<" "<<--i<<" "<<i++;//this will print "1 0 2 0"
}
...但如果我不链接输出命令,
,它可以正常工作cout<<i++<<endl;
cout<<i++<<endl;
cout<<--i<<endl;
cout<<i++<<endl;
即使它们应该以相同的方式工作,但它们会产生不同的结果。但为什么呢?
enter code here
答案 0 :(得分:0)
使用i ++时发布和预增量它在运行++之后在行之后运行i它在行被激活之前添加,所以当你执行时 - 它在行运行i ++调用之前从i减去。
尝试将它们全部设为i ++和i--或--i和++ i,因此结果不会因为它们是否在同一行而不是