为什么 ​num=getWordNumber(n-1)+n return num;这样不行

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

慕侠4596978

2020-06-03 17:28

#include <stdio.h>

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

int getWordNumber(int n)

{   

    if(n == 1)

    {

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

    }

    else{

    num=getWordNumber(n-1)+n

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

    }

}

int main()

{

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

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

    return 0;

}


写回答 关注

5回答

  • 慕容5401208
    2020-07-22 20:58:37

    就是num是什么数据类型,没有提前定义

  • 幕布斯4021408
    2020-06-24 10:50:44

    #include <stdio.h>

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

    int getWordNumber(int n)

    {   int a;

        if(n == 1)

        {

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

        }

        else{a=getWordNumber(n-1)+n;

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

        }

    }

    int main()

    {

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

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

        return 0;

    }


  • 灬天才混混灬
    2020-06-24 10:29:48

    应该是在getWordNumbe自定义函数中 未定义num  所以return 返还不了num的值

  • qq_慕瓜7257093
    2020-06-22 16:19:20

    这样写就可以了

    #include <stdio.h>


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


    int getWordNumber(int n)


    {   

        


        if(n == 1)


        {


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


        }


        else{


        int num = getWordNumber(n-1)+n;


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


        }


    }


    int main()


    {


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


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


        return 0;


    }


  • 萌新12138
    2020-06-04 20:25:04

    你的num=getWordNumber(n-1)+n,这个问题话很简单,因为num = 。。。,你的num并不是一个函数,return返回的应该要是函数


C语言入门

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

926019 学习 · 20793 问题

查看课程

相似问题