>>630
gets() と scanf() の仕様による
gets() は \n の検出で処理を完了するが scanf() は終端の \n を読み取らない為、バッファに残す
よって scanf() の直後に gets() を呼ぶと gets() はバッファに残った \n を取得し即時終了する

while( 1 ) {
 printf( "Name>" ); 
 gets( name );
 printf( "Age>" ); 
 scanf( "%d", &age );
}

上記処理において一回目の gets() は正常に動作するが、2回目以降は即時終了となるために Name>Age> と表示される