假设我们有函数:
void foo(int x)
{
foo(x);
}
在我的机器 (i7) 上将运行大约 260k 次并产生段错误。知道为什么会这样吗?
最佳答案
每次调用函数时,它都需要运行时堆栈上的空间。这是该函数的局部变量分配内存的地方。正在发生的事情是你递归了太多次以至于你用完了堆栈空间——堆栈溢出。 (本站名称!)
关于c++ - 函数递归的最大次数c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14667632/