Ограниченная рекурсия на C?

Я запустил эту программу, и она выдала

...

65088
65089
65090

, а затем остановился. Windows 7 сказала, что a.exe перестал работать. Вот код:

#include <stdio.h>

void go(void);

main()
{
    go();
}

void go(void)
{
    static int i = 0;
    printf("%d\n", i++);
    go();
}

Я думаю, эта программа должна продолжать печатать числа бесконечно из-за рекурсии, но останавливается на 65090! Код C компилируется с помощью gcc. Есть идеи?

6
задан sigjuice 24 June 2011 в 23:56
поделиться