C操作符的优先级和关联规则
来源:互联网 发布:怎么区分三级域名 编辑:程序博客网 时间:2024/05/09 20:42
C操作符的优先级和关联规则
操作符关联规则关联操作符 () [] -> .从左到右一元操作符 ! – ++ -- + - (type) * & sizeof从右到左乘法和除法 * / %从左到右加法和减法 + -从左到右移位操作符 << >>从左到右关系操作符 < <= > >=从左到右相等比较 == !=从左到右位操作符 &从左到右位操作符 ^从左到右位操作符 |从左到右逻辑操作符 &&从左到右逻辑操作符 ||从左到右条件操作符 ?:从右到左赋值操作符 = += -= *= /=从右到左逗号 ,从左到右
1.优先级决定操作符与操作数的绑定顺序
2.操作符是按照优先级从高到低顺序与操作数绑定的
3.在确定两个操作符的相对优先级时,首先从这个表格中找到这两个操作符,表中排在上面的比下面的优先级高;当这两个操作符出现在同一行中时,需要根据“关联规则“来决定它们的优先级;如果是”从左到右“,则左边的操作符有更高的优先级;如果是”从右到左“,则右边的操作符有更高的优先级
4.尽量避免优先级不清的表达式写法,用括号明确区分表达式的计算过程
例:
(1) *p++的计算顺序为(*(p++)):因为*和++属于同一行,所以看其关联规则为”从右到左“,因此操作数先与++绑定,再与*绑定
(2) x || !y && z的计算顺序为(x || ((!y) && z)):因为操作符的优先级顺序为! && ||,因此首先!与y绑定,其次&&与(!y)和z绑定,最后||与x和 ((!y) && z)绑定
(3) x | y & z的计算顺序为(x | (y & z))
转自:http://blog.csdn.net/gtuu0123/article/details/4566310
- C操作符的优先级和关联规则
- C操作符的优先级和关联规则
- 《C和指针》操作符的优先级
- C声明的优先级规则
- C/C++中操作符的优先级和求值顺序
- C/C++中操作符的优先级和求值顺序
- C操作符优先级
- c操作符优先级
- C语言的操作符优先级
- C语言的操作符优先级
- 操作符的优先级 (c++primer)
- C中操作符的优先级
- 理解C语言声明的优先级规则
- 理解C语言声明的优先级规则
- C语言声明的优先级规则《转》
- C语言声明的优先级规则
- C语言中声明的优先级规则
- C语言声明的优先级规则
- 错过
- JQuery源码学习——(一)JQuery起步
- getcwd函数
- poj 3070-Fibonacci-矩阵幂乘
- 项目管理师考试知识点积累
- C操作符的优先级和关联规则
- 计算机视觉经典论文集&此资源批量分类下载的Python程序
- VC++防止程序运行多个实例
- jquery 打开直接跳到网页最下面,最低端
- chdir 、fchdir函数
- Android面试题(一)
- jQuery2.0发布之我见
- 南阳理工 题目698 Coin Problem(菲波那切找循环节)
- ubuntu10.04 LTS升级git 版本