问答详情
源自:5-9 递归函数练习

求问哪里错了

#include <stdio.h>
/*
 * 请使用递归函数完成本题
 * 小编已将正确代码放在左侧任务的“不知道怎么办”里
 * 小编希望各位童鞋独立完成哦~
 */
int suiShu(n){
    int year;
    if(n==1)
        year=10;
    else {
        year=suiShu(n-1)+2;
    return year;
    }
}

int main()
{
    int age;
    age=suiShu(5);
 printf("第5个人的年龄是%d岁",age);
 return 0;
}


提问者:慕仰7392536 2020-04-24 19:29

个回答

  • 慕斯0252033
    2020-04-26 21:24:09

    #include <stdio.h>

    /*

     * 请使用递归函数完成本题

     * 小编已将正确代码放在左侧任务的“不知道怎么办”里

     * 小编希望各位童鞋独立完成哦~

     */

    int suiShu(int n)

    {

        int year;

        if(n==1)

            year=10;

        else 

        {

                year=suiShu(n-1)+2;

            

        }

        return year;//此处如果括在else的范围里,函数就没有返回值了.

        

    }


    int main()

    {

        int age;

        age=suiShu(5);

     printf("第5个人的年龄是%d岁",age);

     return 0;

    }


  • 慕斯0252033
    2020-04-26 21:22:21

    在else哪里的执行语句是简单的语句,你用大括弧把retur括在else里面了,自定义函数没有返回值,