问答详情
源自:5-8 递归函数(二)

求大神指点

return 1的意思是不是将main()主调函数里的getPeachNumber(10)赋值为1 ,  在没有执行到这一步时getpeachnumber(1)   ~(2)  ~(3),都是不确定等于几的,因为对应关系知道,但初始值没有,相当于就是递归函数执行完,等到一堆复合函数,再由get~(10)=1输出~(9),~(8),所以n=1对应了~(10) n=2对应了~(9) n=3对应了~(8),这就是递归函数调用后语句的执行顺序和各个被调用函数的顺序相反的原因,不知道我这么理解对吗?

提问者:qq_愿时光安好_04050009 2016-10-18 11:18

个回答

  • Dancing_code
    2016-10-18 13:34:14
    已采纳

    是的~在没有返回值前,函数会一直递归下去,直到返回了1,再计算1*2=2,接着返回2,2*3=6,返回6……以此类推~~