在这个简单的C ++代码中,它有什么用?

时间:2015-07-29 18:38:08

标签: c++

#include<iostream>
int main()
{ 
    int a = 5;
    a = (a = 10, a++, a--);
    std::cout << a;

}

输出是11,    但是当我修改行

a = a=10,a++,a--;

输出为10 删除()运算符有什么影响以及运算符的执行顺序。

2 个答案:

答案 0 :(得分:0)

+和 - 运算符在赋值运算符之前优先,编译器从左到右读取+, - 符号,而编译器从右到左读取赋值运算符。所以:     1)一个++     2)a--     3)a = 10     4)a =

答案 1 :(得分:0)

c ++编译器会将您的完整集代码传递给二叉树,该树将根据左节点或右节点中operator = + - etc的优先级重新排列代码