函数递归笔记上 您所在的位置:网站首页 有条件的函数代码是什么 函数递归笔记上

函数递归笔记上

2024-06-25 23:41| 来源: 网络整理| 查看: 265

1.什么是递归

 首先所谓的函数递归,一定是基于函数的,只有在函数中才会有递归这个问题;其次函数递归就是函数自己调用自己。下面举一个最简单的递归例子:

注意!!!下面的代码虽然使用了函数递归,但是只是演示函数自己调用自己的形式,并不是为了解决问题,下面的代码会陷入死递归,导致栈溢出,如果调试,你就会发现,它会报一个错误,会看到stack overfolw这一串英文,它的意思是栈溢出;

void post() { printf("%哈哈\n"); post(); } int main() { post(); return 0; } int main() { printf("哈哈\n"); main(); return 0; } 2.递归的思想即实质

递归是解决问题的一种方法,它遵循大事化了的原则,把一个复杂的问题简单化;

递归两个字拆开来理解的话,递就是递推,归就是回归。

3.递归的限制条件 使用递归是有条件的,并不是无条件使用,只有达到某个条件才开始递归,同时递归也要有个限制条件,当满足这个限制条件时,递归就结束,并不是一直无休止地递归下去,这样就会陷入死递归;每一次递归,就会越来越接近这个限制条件,还有就是函数递归的函数递归时的参数一定是要变化的,不然容易陷入死递归。 4.递归代码之阶乘  什么是阶乘

求一个数的阶乘就是计算一个数字从1到它本身累积相乘的积

阶乘公式n!=(n-1)!*n补充:0的阶乘等于1 公式推理过程: 5=5*4*3*2*1=5*4! 4=4*3*2*1=4*3! 公式推理的过程就跟函数递归的思想很像,都是把大问题化解成小问题, 用循环的方法求一个数的阶乘 int main() { int n=0; scanf("%d",&n); int ji=1; int i=1; for(i=1;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有