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

求大佬解释

#include <stdio.h>
/* 定义获取单词数量的函数 */
int getWordNumber(int n)
{  
  
    if(n == 1)
    {
        return 1;    //第一天只会1个单词
    }
    else{
     
        return n+getWordNumber(n-1);   //到第天会的单词数量
    }
}
int main()
{
    int num = getWordNumber(10);     //获取会了的单词数量
    printf("小明第10天记了:%d个单词。\n", num);
    return 0;
}

为啥是运行成功输入错误?

求大佬解释

提问者:孤独的血小板 2018-10-17 20:49

个回答

  • 慕娘3900514
    2018-10-30 15:50:21
    已采纳

    我给你解释一下: 1.运行成功,并不是你达到了该课件的要求,而是C语言编译器编译成功,也就是说,你的C语言语法没有问题。2.输入错误,输入错误,是该可见有个判断条件,它要求你要getWordNumber(n-1)+n这么写,它才判断你是正确的。  程序结果没有区别,只是方便读者阅读

  • qq_多年以后_mrzM02
    2018-10-18 10:31:58

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

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