gpt4 book ai didi

c++ - cout 的 << 运算符在运算符优先级方面如何工作?

转载 作者:太空狗 更新时间:2023-10-29 21:05:54 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Unexpected order of evaluation (compiler bug?)

我无法预测这个程序的输出:

#include<iostream>
using namespace std;

int *p(int *a)
{
(*a)++;
return a;
}
int main()
{
int i=0;

cout<<i++<<" "<<(*p(&i))++<<" "<<i++<<" "<<i<<endl;
return 0;
}

在vs2008中编译时,输出3 2 0 4。任何人都可以解释为什么它不是 0 2 3 4 吗?

注意:如果没有对 p 的函数调用,它会很好地工作。

提前致谢!

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