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

谁能帮忙看一看呀,我这样写为什么不对?

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

提问者:慕斯2484508 2019-11-15 21:12

个回答

  • wallfever
    2019-12-16 18:18:44

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

    里面的getWordNumber是一个有参函数,你不能直接重新这样定义它啊,你可以写成

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

    return gwn;

    (ps:我也不知道我说的对不对,就这么一看)

  • qq_慕码人3196600
    2019-11-16 11:01:14

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

    }