Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Recursion 为什么这不是递归的例子?_Recursion - Fatal编程技术网

Recursion 为什么这不是递归的例子?

Recursion 为什么这不是递归的例子?,recursion,Recursion,因此,我在某个地方看到(我不确定我脑子里到底在哪里,但如果我记得的话,我会贴一个链接到它),下面的代码不是递归的例子: void f() { f(); } 现在,这是一个调用自身的函数(尽管是无限的)。为什么这不是递归的一个例子呢?这可能不是最好的例子,但为什么他们会说它根本不是递归呢?这绝对是一个递归函数的例子,完全基于“递归”的定义。简单地说,递归函数是任何调用自身的函数 很难解释为什么有人说这不是在上下文中看到他们的主张(希望是试图为这一主张辩护) 这就是说,它不是一个非常有用的

因此,我在某个地方看到(我不确定我脑子里到底在哪里,但如果我记得的话,我会贴一个链接到它),下面的代码不是递归的例子:

void f() {
    f();
}

现在,这是一个调用自身的函数(尽管是无限的)。为什么这不是递归的一个例子呢?这可能不是最好的例子,但为什么他们会说它根本不是递归呢?

这绝对是一个递归函数的例子,完全基于“递归”的定义。简单地说,递归函数是任何调用自身的函数

很难解释为什么有人说这不是在上下文中看到他们的主张(希望是试图为这一主张辩护)

这就是说,它不是一个非常有用的递归函数,也许这就是他们的出发点。任何调用该函数的程序在溢出堆栈后最终都会崩溃。有时,这称为“堆栈溢出”错误。:-)


有用的递归函数必须包含某种导致递归最终停止的条件代码。

这绝对是递归函数的一个例子,完全基于“递归”的定义。简单地说,递归函数是任何调用自身的函数

很难解释为什么有人说这不是在上下文中看到他们的主张(希望是试图为这一主张辩护)

这就是说,它不是一个非常有用的递归函数,也许这就是他们的出发点。任何调用该函数的程序在溢出堆栈后最终都会崩溃。有时,这称为“堆栈溢出”错误。:-)


有用的递归函数必须包含某种导致递归最终停止的条件代码。

您的代码示例没有终止的方法,可能会永远持续下去,可能导致堆栈溢出异常。递归函数有一种通过基本情况条件终止的简单方法。阅读本文以获得正确的定义和解释。

您的代码示例没有终止的方法,可能会永远持续下去,可能导致堆栈溢出异常。递归函数有一种通过基本情况条件终止的简单方法。阅读文章要有正确的定义和解释。

< P>这是肯定的递归,这里是威斯康星大学麦迪逊的一些注释。实际使用
void f()
作为示例


该网站可能一直在试图让人们明白如何避免递归。。不确定源链接。

< P>这肯定是递归,这里是威斯康星大学麦迪逊的一些注释。实际使用
void f()
作为示例


该网站可能一直在试图让人们明白如何避免递归。。如果没有源链接,则不确定。

这是递归的示例,但无法结束它,您必须使用条件终止它。

这是递归的示例,但无法结束它,您必须使用条件终止它。

它是递归的…它是递归的…当然也有一些有用的递归函数没有基本情况。例如,纯函数式语言中的无限循环。适当的尾部调用优化将防止堆栈溢出。当然,也有一些有用的递归函数没有基本情况。例如,纯函数式语言中的无限循环。正确的尾部调用优化将防止堆栈溢出。