感觉他给的好难理解,我这个自我感觉好理解一些,有大佬帮我看看吗,

来源:5-7 递归函数(一)

qq_慕运维9091664

2021-08-07 19:56

#include <stdio.h>

/* 定义获取单词数量的函数 */

int getWordNumber(int n)

{   

    int a;

    if(n == 1)

    {

        return 1;    //第一天只会1个单词

    }

    else{

         a=getWordNumber(n-1)+n;

    }

     return a;

}

int main()

{

    int num = getWordNumber(10);     //获取会了的单词数量

    printf("小明第10天记了:%d个单词。\n", num);

    return 0;

}


写回答 关注

1回答

  • bugswriter
    2021-08-09 23:30:15

    其实没必要引入"a"之类的表达,思路和我代码的黑体部分是一样的。而答案给出的就很简洁,直接在return里调用函数。原因很简单,无论是int a 然后a=调用函数还是n=调用函数,最终return的东西(a或者n)本质上还是调用的函数,所以就没必要用另外的词(a)来包装。唯一的作用是好理解。#include <stdio.h>

    /* 定义获取单词数量的函数 */

    int getWordNumber(int n)


    {   

        if(n == 1)

        {

            return 1;    //第一天只会1个单词

        }

        else{

             n+=getWordNumber(n-1);

             return n;      //到第天会的单词数量

        }

    }

    int main()

    {

        int num = getWordNumber(10);     //获取会了的单词数量

        printf("小明第10天记了:%d个单词。\n", num);

        return 0;

    }


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926209 学习 · 20797 问题

查看课程

相似问题