表达式结合规律
如果运算符具有相同的优先级(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 | 逗号运算符 | , | 从左往右 |
标签:从右,优先级,++,运算符,从左往右,表达式 来源: https://www.cnblogs.com/yiyide266/p/12077891.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。