Przykład

void foo( int a, int b)
{
if( a&b != 0 ) {
//b!=0 obliczane jako pierwsze
}
}

Rozwiązanie
Użyj nawiasów, aby zapewnić, że operator bitowy będzie obliczany jako pierwszy.

void foo( int a, int b)
{
if( (a&b) != 0 ) {
//(a&b) obliczane jako pierwsze
}
}