c++运算符优先级问题

运算符优先级列表

image

笔试题

1
2
3
int a = 2;
int b = 3;
int c = a++,b++;

由于逗号的优先级最低,所以会先执行赋值运算符先,因此c的值等于a的值。如果将上述的代码修改为如下:

1
2
3
int a = 2;
int b = 3;
int c = (a++,b++);

由于加了括号,所以先执行了逗号运算符,最后执行赋值运算符,因此c的值等于b的值