【发布时间】:2011-06-21 08:11:11
【问题描述】:
敬礼..
我有一个不寻常的问题。 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)
【问题讨论】:
-
查看this FAQ question了解更多关于序列点的信息
-
您使用的表是用于 JScript 的。将一个用于 c++。 msdn.microsoft.com/en-us/library/126fe14k%28v=vs.10.0%29.aspx
标签: c++ operator-precedence post-increment pre-increment