如果n=10的话return后面的计算式算出的值不应该是19吗 为什么是55呢

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

幕布斯7073309

2020-02-07 15:28

#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;

}


写回答 关注

3回答

  • Javafaker
    2020-03-09 12:54:41

    这其实相当于一个递归函数

  • 慕前端5260257
    2020-02-08 20:05:21

    (n-1)+n的意思是告诉这个函数用这个形式去求和

    10+9+8+7+6+5+4+3+2+1=55

  • 幕布斯7073309
    2020-02-07 15:49:17

    getWordNumber ( n - 1 ) + n; 
    (n-1)这个不是单纯的算数运算中的括号

    他是这个函数的参数



C语言入门

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

926028 学习 · 20793 问题

查看课程

相似问题