请问为什么到n==1时返回的值不是1,而是55.

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

qq_Paradise_nsEFO3

2018-10-07 00:14

#include <stdio.h>

int getWordNumber(int n)

{

   

    if(n==1)

    {

        return 1;

    }    else

    {

      return getWordNumber(n-1)+n;

       

    }

}

int main()

{

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

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

    return 0;

}


写回答 关注

1回答

  • 慕虎4307144
    2018-10-07 07:06:24
    已采纳

    这是递归函数,当你输入10的时候有:10+9+8+。。。。。+1一直到n==1结束,n==1相当于是一个递归结束的信号。

    粗实而夜雨 回复橘涂

    等于2的时候就是+1了,此时看else后面的语句

    2018-10-07 16:38:31

    共 2 条回复 >

C语言入门

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

926207 学习 · 20797 问题

查看课程

相似问题