>p and qがandの両隣をandした結果が1だったら処理を実行 ではなく、 p と q の bitごとの論理和を計算し、非0だったら処理を実行 p && q は if p then if q then と等価です。 p が非0ならば q を評価しないところがポイント。