また、もともとの本題の || についてですが、「論理演算子」となっています。 論理演算子は、その結果が「真偽」となる演算子ですが、真偽値は、 偽なら「0」、真なら「0以外」になるのが仕様です。 だから、真の値が「1」になるか、「3」になるのか、はたまた「-1」になるのかは時と場合によって変わっても問題ないものなので…… バグでも何でもないですね。何で3という数値になるのかはプチコンの実装の方法によるだけの話で、今後勝手に変更されてもおかしくはないです。