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

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

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

提问者:慕粉4368615 2018-01-03 10:13

个回答

  • KingMingLi
    2018-02-12 15:33:44

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

  • 记川
    2018-01-26 19:37:11

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

  • SIMONWUYU
    2018-01-03 10:25:45

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