c语言的 和 的优先级
在C语言中“==”的优先级低于“+”的优先级。
C语言总共有15个优先级,数字越大所代表的优先级越高。
15优先级有:强制,下标,成员,结合性为从左向右,从左向右其实就是我们正常的数**算符的结合顺序。
强制:()这个符号所代表的含义可以有类型转换,参数表,函数调用。
下标:[]就是数组元素的下标。
成员:->与.这两个符号代表的是结构型和共用型成员。
14优先级有:逻辑,位,算术,指针,算术,长度,它们的结合性为自右向左
逻辑:!
位:~
算术:++,--
指针:&,*
算术:+,-,这个是取正,取负
长度:sizeof(),这个得到的是数据的长度
13优先级为:*./.%.即乘除取模运算符
12优先级为:+.-即就是加减运算符
11优先级为:<<与>>即右移位和左移位运算符
10优先级为:>=,>,<=,<
9优先级为:==,!=
8优先级为:&即位逻辑与
7优先级为:^即位逻辑按位加。
6优先级为:|即位逻辑或。
5优先级为:&&即逻辑与
4优先级为:||即逻辑或
13到4这些优先级它们的结合性为自左向右
3优先级为:“?:”即条件运算符
2优先级有:赋值,自反赋值,它们的结合性为自右向左
赋值:=
自反赋值:+=,-=,*=,/=,%=,&=,^=,|=,<<=,>>=
1优先级为:“,”即逗号运算符,它的结合性是自左向右。
结合性为自左向右的运算符:
对于双目运算符(运算时含有两个变量的运算符),但也有一些单目运算符,它们为[],(),还有一些其它的运算符如“,”。
结合性为自右向左的运算符:
单目运算符(即运算时只有一个变量),还有一些其它的运算符如条件运算符“?:”。