继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【金秋打卡】第十五天c++

慕标1468207
关注TA
已关注
手记 42
粉丝 1
获赞 4

课程名称:趣味c++入门

章节名称:第七章 函数是什么

讲师姓名:Redknot

内容概述:函数的递归调用:

  1. 递归的终止条件是什么? 

必须设计好这一点,否则就会直接爆栈

2.递归被分解后最基本操作是什么?

递归非常适合层级调用关系,每一层都执行相同的操作,这个要素,就是要提取出递归最核心的要素。

3.递归调用传递的参数

参数列表,返回值。参数列表表示给下一层调用需要传递什么,返回值表示上一层调用需要返回什么。

例如需要一个n!

一般我们会写这样子:

#include<stdio.h>

int main()

{

    int i,n,a=1;

    printf("请输入一个数:");

    scanf("%d",&n);

    for(i=1;i<=n;i++)

        a*=i;

    printf("n!=%d",a);

    return 0;

}

如果用递归:

#include<stdio.h>

int fact(int n)

{

    if(n==1)

    {

        return 1;

    }

    else

    {

        return n*fact(n-1);

     }

}

int main()

{

        int x=5;

        int res=fact(x);

        printf("%d\n",res);

        return 0;

}

利用递归的特性,可以很简单得处理一些循环特别复杂的问题,例如:遍历文件夹,遍历二叉树等。

学习心得:学习了函数的递归调用

学习截图:http://img1.sycdn.imooc.com/636904c80001f8e519201080.jpg

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP