рекурсия c ++ выходит без очевидной причины

Я написал функцию с использованием рекурсии. При тестировании выяснилось, что функция безо всякой очевидной причины убита, а рекурсия все еще работает.

Чтобы проверить это, я написал бесконечную рекурсию.

На моем ПК эта функция завершается примерно через 2 секунды, а последний результат - около 327400. Последнее число не всегда одно и то же.

Я использую Ubuntu Lucid Lynx, компилятор GCC и Eclipse в качестве IDE. Если кто-то знает, в чем проблема и как я могу предотвратить выход из программы, я был бы очень доволен.

#include <iostream>

void rek(double x){
    std::cout << x << std::endl;
    rek(x + 1);
}

int main(int argc, char **argv) {
    rek(1);
}
5
задан Lightness Races with Monica 18 May 2011 в 14:04
поделиться