Ejemplo

void foo( int a, int b)
{
if( a&b != 0 ) {
// b!=0 se evalúa primero
}
}

Solución
Utilice delimitadores para asegurarse de que se evalúe primero el operador bit a bit.

void foo( int a, int b)
{
if( (a&b) != 0 ) {
// (a&b) se evalúa primero
}
}