C语言中的递归函数

#include <stdio.h>

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

int getWordNumber(int n)

{   

    if(n == 1)

    {

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

    }

    else{

        return getWordNumber(n-1)+n ;       //到第天会的单词数量

    }

}

int main()

{

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

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

    return 0;

}

对于上面的代码表示不懂,特别是result getWordNumber(n-1)+n;不明白应如何执行

街角疯
浏览 1417回答 2
2回答

luofuxiang

return getWordNumber(n-1)+n;    //返回第n-1天时学会了的单词数和第n天学的单词数之和                   //就是把求n天记了的单词数转化为求n-1天记了的单词数加上第n填记的单词数

weibo_萌令奇奇_0

n表示第n天学会的单词数量,getWordNumber(n-1)表示前面 n-1 天学会的单词数量, getWordNumber(n-1)+n 表示到第n天学会的单词总数量。这是一个比较简单的递归函数,可以在程序中,多传几个不同参数,去理解一下,一起加油哈!
打开App,查看更多内容
随时随地看视频慕课网APP