那些年犯下的bug

来源:互联网 发布:制作投票软件 编辑:程序博客网 时间:2024/05/16 09:05

运算符优先级

int ret = a >> 1 / b;

我自以为的结果是(a >> 1)/b,实际结果是 a >> (1 / b),除法/的优先级是高于>>的

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先乘除(模),后加减。

先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.

逻辑运算最后计算。

*在不确定的情况下,最好用括号括起来

原创粉丝点击