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

关于递归函数 return的问题

关于递归函数 return的问题

C++
宝慕林1286320 2016-09-24 21:37:19
#include <stdio.h>int getage(int n){    int age;    if (n==1)    age=10;    else    age=getage(n-1)+2;    return age;}int main(){     printf("第5个人的年龄是%d岁", getage(5)); return 0;}如果没有return age 为什么运行后是9岁,他是如何运算的
查看完整描述

2 回答

已采纳
?
onemoo

TA贡献883条经验 获得超454个赞

如果一个函数声明了返回类型,那它在返回时就一定要返回适当的值,否则返回值是不确定的!

所以,如果你不写 return age;  那么到底会返回什么值完全是不确定的。 你不用研究它为什么是9,它返回什么都有可能...

查看完整回答
反对 回复 2016-09-24
?
NoteF

TA贡献5条经验 获得超1个赞

函数调用成功 bool 转 int 为 1

1+2+2+2+2+2 = 9

查看完整回答
反对 回复 2016-09-25
  • 2 回答
  • 0 关注
  • 1473 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信