这里就不写出整个优先级运算表了,有兴趣的百度一下很多的,这里就写写自己平时容易出错的地方,后期也会在遇到时候不断加入完善
优先级问题 | 表达式 | 被误认为的结果 | 正确的结果 |
.优先级高于*,-> | *p.f | (*p).f | *(p.f)对p取f偏移,作为指针,然后进行解除操作 |
==和!=高于位操作 | (var&mask !=0) | (var&mask)!=0 | Var & (mask !=0) |
==和!=高于赋值 | C=getchar() !=EOF | (c=getchar())!=EOF | C=(getchaor()!=EOF) |
算术运算符高于位移运算法 | Mask << 4+3 | (Mask <<4)+3 | Mask << (4+3) |
逗号运算符在所有运算符中优先级最低 | i=1,2 | I=(1,2) | (i=1),2 结果为i=2 |