>>285
>よくわからんのですが

関数を呼び出すごとに、メモリ上のスタック領域に関数の引数やローカル変数を
書き込んで行って、関数が終了する度にそれを解放して行きます。

関数の中で関数を読んで、更にまた関数を呼ぶというプログラムを書くと、
スタック領域のデータが解放されずにどんどん溜まって行きます。最終的には
スタック領域がいっぱいになって、プロセスが異常終了以上乙でした状態に
なってしまいます。

judge() も randomu() も自分の仕事が終わったら return する様にして、
main() の中で for とか while でループを作って judge() や randomu() を
呼び出す様にすると解決出来ると思います。