为了账号安全,请及时绑定邮箱和手机立即绑定

哪错了?为什么为9?

#include <stdio.h>
/*
 * 请使用递归函数完成本题
 * 小编已将正确代码放在左侧任务的“不知道怎么办”里
 * 小编希望各位童鞋独立完成哦~
 */
int year(int a)
{
    int b;
    if(a==1)
    {
        b=10;
    }
    else
    {
        b=year(a-1)+2;
        return b;
    }
   
}
int main()
{
    int c=year(5);
 printf("第5个人的年龄是%d岁", c);
 return 0;
}

正在回答

3 回答

#include <stdio.h>
/*
 * 请使用递归函数完成本题
 * 小编已将正确代码放在左侧任务的“不知道怎么办”里
 * 小编希望各位童鞋独立完成哦~
 */
int age(int n)
{
    int sum;
    if(n==1)
    {
        sum=10;
        return sum;//少一个返回值,就少一次循环。
    }
    else
    {
        sum=age(n-1)+2;
        return sum;
    }
}
int main()
{
    int n=age(5);  
 printf("第5个人的年龄是%d岁", n);
 return 0;
}

1 回复 有任何疑惑可以回复我~
#1

慕神8379461 提问者

没有反回值,系统默认返回1吗?
2018-12-05 回复 有任何疑惑可以回复我~

你把else那边的{}去掉就行


0 回复 有任何疑惑可以回复我~

没有反回值,系统默认返回1吗?

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926227    人
  • 解答问题       20797    个

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

进入课程

哪错了?为什么为9?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信