示例
void
foo(
int
a,
int
b)
{
if
( a&b != 0 ) {
//b!=0 evaluated first
}
}
解决方案
使用括号以确保先进行位运算。
void
foo(
int
a,
int
b)
{
if
( (a&b) != 0 ) {
//(a&b) evaluated first
}
}