函数
优先级
优先级最高的不是真正的运算符, 数组的下标, 函数的调用, 结构体操作符等
之后是单目运算符
然后是双目运算符, 算术运算符优先级最高, 之后是移位运算符, 然后是逻辑运算符, 三目运算符, 最后是赋值运算符
关系运算符的优先级并不一样, ==和!=的优先级要低一点
位运算符也有优先级的顺序, &, ^, | , &&, | , ?:, 依次降低只要是为了对之前的语言的兼容 |
赋值运算符的运算顺序是从右到左
else
始终与同一对括号中最近的if进行结合
if(x==0)
if(y==0)error();
else{
z=x+y;
f(&z);
}
if(x==0)
{
if(y==0)error();
}else{
z = x+y;
f(&z);
}
第一个else会和最近的if进行结合