你称呼一个调用自身的函数为什么(这被称为递归)?

10

我正在努力弄清楚自己引用的函数叫什么。这被称为递归吗?还是只是一个自引用的函数?


如果它从未“调用”自身,那么我会认为这只是愚蠢的代码;-)否则,请参阅答案。递归函数是一种调用自身的函数。直接递归是调用自身的行为。因此,如果没有任何东西被调用(但该函数仍然具有对自身的引用,例如匿名函数),那么...;-) - user166390
3个回答

12

这是一个递归函数直接递归是指函数调用自身的情况。


2
一个调用自身的函数,就像你所猜测的那样,被称为“递归”。

0

递归或自递归是我通常所称呼的。但要小心,不要陷入调用自身的循环中,最终导致堆栈溢出。

此外,请记住变量的作用域。如果需要在所有递归级别之间共享变量,请将其声明为静态变量(或在函数外部声明)。如果需要从一个级别传递特定信息到下一个级别,请将变量传递给函数。最后,在函数中使用需要保持当前递归级别状态的局部变量。局部变量将为您调用的每个递归级别创建一个堆栈副本,并在每次展开递归时弹回到先前的值。


我认为OP只是在钓鱼,想要得到一道作业/在线测试题的答案 :) - Rag

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接