>>464
双方が int に拡張されて足し算されて 2 になったのが
再び bool にキャストすると 1 になる。

演算子の両方の型が int より小さい場合には
両方が int に拡張されてから計算されるというのが
C の基本的なルール。
(全ての演算子がそうというわけではない。)