gpt4 book ai didi

c++ - 运算符优先级.. () 和++

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:04:59 29 4
gpt4 key购买 nike

敬礼..

我有一个不寻常的问题。 Here in this table在 MSDN 库中我们可以看到 () 的优先级高于 ++ (Pre-increment) 。但是当我运行这段代码时,似乎 ++(prefex) 的优先级更高:

int main()
{
int a=3,b=2,x;
x=++a + (a-b);
cout<<"x= "<<x;

return 0;
}

答案是:

x=6

这只发生在 prefex++ 上,并且如我预期的那样工作在 post-increment 上。

有什么理由吗?问候..

int main()
{
int a=3,b=2,x;
x=a++ + (a-b);
cout<<"x= "<<x;

return 0;
}

x=4

(我使用 Microsoft Visual C++ 2010 express)

最佳答案

像往常一样,这是未定义的行为。没有 sequence point+ 处,所以没有定义 ++ 更新 a 的时间点。这不是优先级问题。

关于c++ - 运算符优先级.. () 和++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4897934/

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