问答详情
源自:5-7 递归函数(一)

这个程序是怎么运行的啊

#include <stdio.h>

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

int getWordNumber(int n)

{   

    int we;

    if(n == 1)

    {

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

    }

    else{

        we=getWordNumber(n-1)+n;

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

    }

}

int main()

{

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

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

    return 0;

}


提问者:思心等待的人 2016-11-14 22:58

个回答

  • 南枕北伤
    2016-11-16 12:34:19
    已采纳

      这里实现的不是累加效果,而是递推数据的值,这里推出第十天的值

    int num = getWordNumber(10);   你可以将这个里面的数换成别的数,比如说2    3      4,你就能发现这里的值并不是累加计算,而是递推

  • 南枕北伤
    2016-11-15 22:00:30

    #include<stdio.h>
    int getWordNumber(int n)     //这里用的是递归函数
    {
        int we;
        if(n == 1)
        {
            return 1;    //这里设置递归函数的结束语,即当n=1时返回值为1
        }
        else
     {
            we=getWordNumber(n-1)+n;  //这里用到递归函数      从下面参考 getWordNumber中为10,所以要反向推导
            return we ;       //返回值为  we 计算出来的值
        }
    }
    int main()
    {
        int num = getWordNumber(10);     //获取会了的单词数量
        printf("小明第10天记了:%d个单词。\n", num);
        return 0;
    }