[C]表达式结合规律和运算符优先级
Posted yiyide266
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C]表达式结合规律和运算符优先级相关的知识,希望对你有一定的参考价值。
表达式结合规律
如果运算符具有相同的优先级(precedence)有些表达式的结合方式是从左往右,有些则是从右往左结合的(例如赋值运算符):
表达式 | 结合律 | 组合方式 |
a/b%c | 从左往右 | (a/b)%c |
a=b=c | 从右往左 | a=(b=c) |
运算符优先级
优先级 | 运算符分类 | 运算符 | 表达式实例 | 结合律 |
1 | 前序运算符 | []、()、++、--、(类型名)、{列表} | arr[2]、x++ | 从左往右 |
2 | 后序运算符 | ++、--、!、~、+、-、*、&、sizeof | ++x、!x、*ptr | 从右往左 |
3 | 类型转换运算符 | (类型名称) | (void*)ptr | 从右往左 |
4 | 乘除法运算 | *、/、% | x * y % z | 从左往右 |
5 | 加减法运算 | +、- | x + y | 从左往右 |
6 | 位移运算符 | <<、>> | x << 6 | 从左往右 |
7 | 关系运算符 | <、<=、>、>= | x < y | 从左往右 |
8 | 相等运算符 | ==、!= | x == y | 从左往右 |
9 | 位运算符AND | & | x & y | 从左往右 |
10 | 位运算符XOR | ^ | x ^ y | 从左往右 |
11 | 位运算符OR | | | x | y | 从左往右 |
12 | 逻辑运算符AND | && | x && y | 从左往右 |
13 | 逻辑运算符OR | || | x || y | 从左往右 |
14 | 条件运算符 | ?: | x?1:2 | 从右往左 |
15 | 赋值运算符 | =、+=、-=、*=、/=、%=、&=、^=、|=、<<=、>>= | x += 1 | 从右往左 |
16 | 逗号运算符 | , | 从左往右 |
以上是关于[C]表达式结合规律和运算符优先级的主要内容,如果未能解决你的问题,请参考以下文章