优先级和结合方向1、操作对象数
二、优先级简记
初等运算符() [] -. )单眼运算符关系运算符逻辑运算符) )。 条件运算符3358www.Sina.com/赋值运算符逗号运算符
单算转移参与、异(^ )或)|)罗条赋
括号成员第一,全体单眼第二,乘除馀三,加减四
错位五关系六,等于不均等地划分七位、位与异或位或天下八九十
或逻辑积,12和11,条件高于赋值,逗号运算水平最低。
三.结合方向
按照顺序,开单目的运算、条件运算、赋值运算除了从右到左以外都是从左到右。
"-"、"强制转换"、"-"、" * "、"! ”、“~~”、“sizeof”从右向左依次结合
"="、/="、*="、%="、"="、"-="、"="、"=="、"="从右到左
“?”从右向左
「() "、" ) "、"."、"-"从左到右依次结合
“”、“-”、“*”、“/”、“%”从左到右依次结合,按照小学算术先后顺序结合即可。
“”、“”从左向右
“、”、“=”、“”、“=”从左向右
“==”,“!='从左到右
" "、" ^ "、"|"从左到右
“”、“|||”从左向右
“,”从左向右
一览表
示例:
int a; --a=1; printf('%d ',a ); /*C语言执行---运算符优先级=高于运算符优先级--a; 因为将计算后的值赋予a,重新计算赋值运算符,将1赋予a,所以a=1; --a=1; 相当于--a; a=1; */
提示:
程序员的好习惯:在公式中优先,用括号整理