C语言运算符的优先级和结合性
C语言中的运算符有不同的优先级和结合性,优先级高的运算符先进行运算,而结合性决定了运算符在表达式中相同优先级的运算符出现时的结合顺序。
以下是C语言中常见运算符的优先级,按照优先级由高到低的顺序排列:
圆括号:()
单目运算符:++,--,+,-,!,~,(类型)。
算术运算符:*,/,%,+,-。
移位运算符:<<,>>。
关系运算符:>,<,>=,<=。
相等性运算符:==,!=。
位运算符:&,^,|。
逻辑运算符:&&,||。
条件运算符:? :。
赋值运算符:=,+=,-=,*=,/=,%=,&=,^=,|=,<<=,>>=。
逗号运算符:,
结合性有左结合(L)和右结合(R)两种。
左结合(L)的运算符从左向右进行结合,如算术运算符+和-。
右结合(R)的运算符从右向左进行结合,如赋值运算符=。
注意:在表达式中使用括号可以改变运算符的优先级和结合性。