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

关于递归函数的调用问题

为什么必须是((n+1)+1)*2这种形式而不能是直接(N+2)*2,而且直接修改成(n+2)*2直接报错了,但是(n+3)*2又可以来着,求解释

正在回答

3 回答

写+2的话,函数进过几次递归到9,再加2到11,跳过了10,一直递归下去却得不到返回值,自然编译器显示不出来。你如果写+3 的话就可以编译出来

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

但问题编译器应该没那么只能知道天数和桃数的区别,为何这么直接写+2编译器会没显示?

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

慕婉清7960772 提问者

写错:智能
2015-09-15 回复 有任何疑惑可以回复我~

是的,n+1是天数的增加,也就是递归的增加,后面那个+1是每天剩一个桃子,所以这个俩不能一起加的

换句话说

n表示的是天数,第一个+1是表示天数+1 ,第二个+1是表示桃子+1表示的东西都不一样,所以不能直接用+2

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

举报

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

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

进入课程

关于递归函数的调用问题

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