gpt4 book ai didi

c++递归没有明显原因退出

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:33 25 4
gpt4 key购买 nike

我使用递归编写了一个函数。在对其进行测试时,结果表明该函数在没有任何明显原因的情况下被终止,而递归仍在运行。

为了测试这个,我写了一个无限递归。

在我的 PC 上,这个函数在大约 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);
}

最佳答案

您很可能会溢出堆栈,此时您的程序将被立即终止。堆栈的深度将始终限制您可以递归的数量,如果您达到该限制,则意味着您的算法需要更改。

关于c++递归没有明显原因退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com