有疑问请解答一下,谢谢

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

慕仰3592340

2020-02-21 21:58

#include <stdio.h> 
int getYearOld(int n)
{
    int year;
    if(n==1)
        return year=10;
    else
        return year=getYearOld(n-1)+2;
        printf("第%d个人的年龄是%d岁",n,year);
}
int main()
{
    int old=getYearOld(5);
 printf("第5个人的年龄是%d岁", old);
 return 0;
}

代码中的加粗字体为何运行不出来?我的运行结果只有第五个人的年龄是18岁。

写回答 关注

1回答

  • 一名不愿透漏姓名的沙雕
    2020-02-27 14:47:00

    因为你在if else后面都写上了return;

    当出现return时,即为结束,不继续运行下面的代码,所以printf没有运行;

    建议改为在printf后面写return year;

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题