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

求问 为什么这样也能得出答案?

#include <stdio.h> 

int getYears(int n)

{ int num;

 if(n==5)

  {return 10;}

  else 

  {num=(getYears(n+1)+2);

  }

  return num;

  }

int main() 

{

    int num=getYears(1);

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

return 0;

}


正在回答

1 回答

当年你的传值 1到递归函数时,执行4次num=(getYears(n+1)+2);一直到n == 5//这期间每执行一次n都会加1,就是然后这个+2的运算也会执行4次,就是8,当n == 5,返回一个10,所以当递归结束时num = 2+2+2+2+10 就是18

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

举报

0/150
提交
取消

求问 为什么这样也能得出答案?

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