c - 是 int foo() { return foo();递归函数?

标签 c function recursion

意愿:

int foo();

int foo()
{
    return foo();
}

永久循环,否则只会运行该函数两次(一次隐式运行,一次终止时运行)。

最佳答案

是的,foo() 是一个递归函数,会导致无限循环。

如果你的编译器优化了尾递归,那么它可能会一直持续下去,直到你杀死它。如果您的编译器没有优化尾递归,那么您最终将溢出堆栈和/或耗尽内存。

关于c - 是 int foo() { return foo();递归函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28749134/

相关文章:

c++ - 如何使用 C++ 将网站设置为 IE、Firefox、Chrome 和 Safari 的主页?

function - make函数怎么可以带三个参数呢?

ruby - 递归解决方案没有正确迭代

php - 如何在 explode() 函数中使用条件?

algorithm - 递归如何在排列中工作?

java - 使用 Integer[] 与 int[]

c - 将文本读入缓冲区后如何逐行读取?

c - gdb 调试 - 仅在 stdin 内\n

c - 访问功能是否检查文件的存在?

python - 这个Python函数应该如何调用