【发布时间】:2015-10-20 21:55:00
【问题描述】:
#include<iostream>
int main()
{
int a = 5;
a = (a = 10, a++, a--);
std::cout << a;
}
输出为 11, 但是当我修改线路时
a = a=10,a++,a--;
输出为 10 删除 ( ) 运算符有什么影响以及这些运算符的执行顺序是什么。
【问题讨论】:
-
@Rohit 使用编译器警告
-Wall -
等等,什么?未定义的行为?逗号运算符引入了一个序列点@πάνταῥεῖ
-
删除 () 运算符有什么影响以及运算符的执行顺序是什么随机的人寻求帮助?编写一些代码并自己找出答案。对于自我奖励点,检查编译器可以生成的汇编代码(如果你要求的话)并花一些时间来理解它。
标签: c++