繁体   English   中英

在这个简单的 C++ 代码中到底发生了什么?

[英]What's going under the hood in this simple C++ code?

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

}

输出为 11,但是当我修改该行时

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

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

+ 和 - 运算符优先于赋值运算符,并且 +,- 符号由编译器从左到右读取,而赋值运算符由编译器从右到左读取。 所以:1) a++ 2) a-- 3) a=10 4) a =

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM