Показать сообщение отдельно
Старый 28.07.2008, 12:35   #4  
Shakr
Гость
 
n/a
Navision
с рекурсией будет ещё хуже - она у меня падает на 400-м шаге.
Последнее значение j до переполнения = 399

Ошибка времени выполнения. : Переполнение во внутреннем стеке исполнения кода.

Код:
int rn(int i)
{
    int loop(int _i)
    {
        int j = _i+1;
        ;
        j = j>600?1:j;

        print j;
        if (j<500)
            loop(j);

        return j;
    }

    do
    {
        loop(i);
    }
    while (true);
    return i;
}
по предыдущему варианту: цикл по сути дела - безобиднейший, не так ли? Ну позвал функцию из 1го оператора, ну вышел из неё- с чего бы тут памяти пропадать?