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

为什么return换成result就不行了,例题就是这样写的啊


#include <stdio.h>

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

int getWordNumber(int n)

{   

    if(n == 1)

    {

        result= 1;    //第一天只会1个单词

    }

    else{

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

    }

    return result;

}

int main()

{

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

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

    return 0;

}




提问者:qq_阿兆 2015-11-05 23:29

个回答

  • 竹天一
    2015-12-10 22:26:29

    #include <stdio.h>

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

    int getWordNumber(int n)

    {   

        int result;

        if(n == 1)

        {

            result= 1;    //第一天只会1个单词

        }

        else{

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

        }

        return result;

    }

    int main()

    {

    int a; 

    scanf ("%d",&a);

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

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

        return 0;

    }

    我试了一下可以运行

  • ljy888333
    2015-11-05 23:53:26

    result 没有定义。

    如:

    #include <stdio.h>
    /* 定义获取单词数量的函数 */
    int getWordNumber(int n)
    {   
        int result;
        if(n == 1)
        {

            result= 1;    //第一天只会1个单词
        }
        else{
            result=getWordNumber(n-1)+n ;       //到第天会的单词数量
        }
        return result;
    }
    int main()
    {
        int num = getWordNumber(10);     //获取会了的单词数量
        printf("小明第10天记了:%d个单词。\n", num);
        return 0;
    }