是int foo(){return foo(); 一个递归函数?

Ala*_*ios -6 c recursion function

将:

int foo();

int foo()
{
    return foo();
}
Run Code Online (Sandbox Code Playgroud)

永久循环或只运行两次函数(一次隐式,一次一次终止).

jsc*_*410 5

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

如果你的编译器优化了尾递归,那么它很可能会一直持续到你杀死它为止.如果编译器没有优化尾递归,那么最终会溢出堆栈和/或内存不足.