求问哪里错了

来源:5-9 递归函数练习

慕仰7392536

2020-04-24 19:29

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


写回答 关注

2回答

  • 慕斯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里面了,自定义函数没有返回值,

C语言入门

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

926026 学习 · 20793 问题

查看课程

相似问题