在C语言中什么叫递归

如题所述

递归:就是自己调自己,但是没终止条件会死循环,所以你的递归代码里有结束自调自的条件,这样就创造了有限次的循环(代码中你看不到for或foreach但是有循环发生)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-29
就是一样了送回来了
第2个回答  2019-11-19
在一个函数里存在函数本身,这样只要没达到要求,就会一直调用函数本身,这个就是递归函数的意思。
第3个回答  2013-10-29
当某一问题可以表现为范围缩小的同性质问题的叠加,且利用范围缩小的问题的结果比较容易推导出最后解答的情况时,可以使用递归算法。这样一个问题的解答将依赖与一个同性质问题的解答,而解答这个同性质的问题实际上就是用不同的参数(体现范围缩小)来调用递归方法自身。
所有的递归算法都可以用条件-循环改写成非递归的形式,所以没有什么场合是一定要使用递归的。
递归的基本思想就是“自己调用自己”,一个使用递归技术的方法即是直接或间接的调用自身的方法。递归可以用简单的程序来解决某些复杂的计算问题,但是递归调用会占用大量的系统堆栈,内存耗用多,计算量大,在递归调用层次较多时使用要慎重。
第4个回答  推荐于2017-12-16
C#
递归方法的概念
类方法成员间允许相互调用,也可以自己调用自己。类的方法如果在方法体内直接或间接地自己调用自己就称为递归方法。
递归基本思想就是“自己调用自己”。递归方法实际上体现了“依此类推”、“用同样的步骤重复”这样的思想,它可以用简单的程序来解决某些复杂的计算问题。
递归调用在完成阶乘运算、级数运算、幂指数运算等方面特别有效。
在执行递归操作时,C#语言把递归过程中的信息保存在堆栈中。如果无限循环地递归,或者递归次数太多,则产生“堆栈溢出”错误
例:用递归方法求阶乘。利用的数学公式为n!=n*(n-1)!。当n=0时,n!=1。
代码如下:
public long F(int n)
{
if (n==1)
return 1;
else
return n*F(n-1);
}本回答被网友采纳
相似回答