だってsigned charで宣言してる時点で0xB6なんて値は不正な値だよ?
最初から欠陥プログラムだったんだよ

解決方法はいくらでもあるけど、それを実行するとあっちが立たないになるからお勧めできない