e266.c

!演算子は否定形のときに使うと良い


修正前 if ( !x&y ){
修正案その1 if ( (!x)&y ) ↓↓ if ( (x==0)&y ) ↓↓ コンパイラはこう解釈する 修正案その2 if ( !(x&y) ) ↓↓ if ( (x&y)==0 ) ↓↓ プログラマの意図はたぶんこちら
解説 否定演算子! と ビット演算子 を組み合わせるのは、 誤解しやすいのでやめましょう。