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

有疑问请解答一下,谢谢

#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岁。

提问者:慕仰3592340 2020-02-21 21:58

个回答

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

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

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

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