运算符优先级
优先级 | 运算符 | 运算 | 结合关系 | 举例 |
---|---|---|---|---|
1 | ++ | 后缀递增 | 自右向左 | a++ |
1 | - - | 后缀递减 | 自右向左 | a- - |
2 | ++ | 前缀递增 | 自右向左 | ++a |
2 | - - | 前缀递减 | 自右向左 | - -a |
3 | + | 单目不变 | 自右向左 | a*+b |
3 | - | 单目取负 | 自右向左 | a*-b |
4 | * | 乘 | 自左向右 | a*b |
4 | / | 除 | 自左向右 | a/b |
4 | % | 取余 | 自左向右 | a%b |
5 | + | 加 | 自左向右 | a+b |
5 | - | 减 | 自左向右 | a-b |
6 | = | 赋值 | 自右向左 | a=b |
6 | += | 复合赋值 | 自右向左 | a+=b |
6 | -= | 复合赋值 | 自右向左 | a-=b |
6 | *= | 复合赋值 | 自右向左 | a*=b |
6 | /= | 复合赋值 | 自右向左 | a/=b |
6 | &= | 复合赋值 | 自右向左 | a&=b |
复合赋值运算符的计算
a+=b 等价于 a=a+b
a-=b 等价于 a=a-b
a*=b 等价于 a=a*b
a/=b 等价于 a=a/b
a&=b 等价于 a=a&b
前缀和后缀
表达式 | 运算 | 表达式的值 |
---|---|---|
count++ | 给count加1 | count原来的值 |
++count | 给count加1 | count+1以后的值 |
count- - | 给count减1 | count原来的值 |
- -count | 给count减1 | count-1以后的值 |
一个有趣的计算
//猜猜输出的值是多少
int b = 9;
int c = 1;
int d = 3;
int e = 5;
int f = -2;
int a = b+=c++-d+--e/-f
printf("a=%d\n",a);
保持更新、、、
来源:CSDN
作者:_SuperBear
链接:https://blog.csdn.net/weixin_45855178/article/details/104340028