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

程序里面为什么递归不能这样写

age=getage(numpeople-1)+2;为什么不能是:age=getage(numpeople+1)-2;

正在回答

3 回答

这道题的前提是已经知道了第一个人的年龄,而年龄的提问是从第五个开始逐步趋向向第一个人的年龄,也就是递归函数的结束条件在于第一个人的年龄(10岁),你的写法是从第五个人为准开始,然而要求的是第五个人的年龄,所以和程序给出的条件无法配套导致

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

你这样想;要想知道第五个人的是不是先要知道第四个人的,要知道第四个,就要知道第三个,一直到知道第一个人才可以。num2=num1+2;num3=num2+2;num4=num3+2;……

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

因为是倒序运算的,是往回递归的,依次减小

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

举报

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

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

进入课程

程序里面为什么递归不能这样写

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