うーん。
gets 呼んでも入力が来ない、というのは、

1. 既に前にあった入力の内容が残っていた。
2. メモリ内容が何らかの操作で壊されておかしくなってる。
3. gets にバグがある。

の 3 つの可能性があるけど...。

とりあえず kaiten を
char kaiten[1000] = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
って初期化して、
これ以外のが表示されたら 1. の可能性が高いかな?