gpt4 book ai didi

c++ - "cout"执行递增和递减时链接产生意外结果

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:48 24 4
gpt4 key购买 nike

以下程序包括简单的递增和递减操作。正如我的预测,程序应该打印“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;

即使它们应该以相同的方式工作,但它们会产生不同的结果。但是为什么?

最佳答案

当你使用 i++ 时后递增和预递增 当你运行 ++i 它在行之后运行 它在执行行之前添加所以当你做 --i 它在 i++ 调用行运行之前从 i 中减去。

尝试将它们都设为 i++i----i++i 所以结果不会因它们是否在同一行而有所不同。

关于c++ - "cout"执行递增和递减时链接产生意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43577319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com