int n;
if (n) {...}
else {...}
で、nが0以外のときにelseに入ったり
0のときにifに入ったりすることは無いだろうが
真偽値がどうこう言いたいなら!=0でもつけてろよ
0以外=真、0=偽として扱ってるんだと思ってたが