满意的回答
泗王溪
推荐使用2018.03.21
通过率: 54%等级: 12
帮助: 18850人
优先级从上到下依次减少,顶部具有最高优先级,逗号操作符具有最低优先级。
的优先级中,从右向左合并的只有三个优先级,它们是单眼运算符、条件运算符和赋值运算符。 其他从左到右结合。
具有最高优先级的实际上不是真正的运算符,而是特殊操作。 )涉及函数,[]涉及数组,-和.采用结构成员。
接下来是单眼运算符。 因为所有单眼运算符都具有相同的优先级,所以它们在我认为的真正运算符中优先级最高,而且它们从右到左合并,所以*p无疑等于*(p )
其次是算术运算符。 *、/、%的优先顺序当然高于、-。
移位运算符跟在后面。
在以下关系运算符中,与==相比,==!=上一级,不能很好地理解。
的逻辑运算符都具有不同的优先级。 单眼运算符除外! 和~
逻辑运算符“和”是“更高”或“更高”,“异或”介于它们之间。
紧随其后的比||高。
以下是条件运算符、赋值运算符和逗号运算符:
在c语言中,只有四个运算符定义运算方向:| |、条件运算符和赋值运算符。
、| |都是先计算左边表达式的值,如果左边表达式的值决定了整个表达式的值,则不再计算右边表达式的值。 例如a=0 b; 如果运算符的左边位为0,则不再判断右边表达式b。
在条件运算符中。 例如,a? b:c; 判断a的值后,根据a的值评价b或c中的某一个。
代入式是先评价右边的式,所以a=b=c=6; 变得可能。
03共享通报