>>142
ちがうよ
while (p_turn = !p_turn, 1);
そもそも上の式では p_turn = !p_turn は評価されない
while の式として評価されてるのは 最後(一番右の) 1 だけ
つまり while は常に ture でループするってこと