未定義の動作と、環境(コンパイラ?)によって異なる動作というのが
わりとごっちゃになる