来自 计算机 2019-06-24 18:45 的文章
当前位置: 金沙国际唯一官网 > 计算机 > 正文

php 函数自调用问题

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  但这段代码还是有问题,因为还缺少了退出条件。所以写递归的时候注意了。一定要写一个 if 语句用来判断递归何时退出。没有退出条件的递归就是死循环。

  怎么退出呢?退出条件是什么?这里由于是计算1-3之和所以这个函数的成立条件为 0n=3

  return $a; //这里让它的最后一次循环加了0而不是-1,我这里运行的跟你的不一样吧。。呵呵。。因为你的if条件是$n 1 所在 else 里 $n = 1 所以你的最后加了1就退出了。。

  会先看到外层的sum(3+当看到+号了发现后面还有一个函数没有求,哎算了。。。sum(3)现在求不了我把sum(2)求出来再求sum(3)吧,于

  又是看到+号后面又有了一个sum函数是求sum(1)的心想这回看你还有没有了。。嘻嘻。。。好了sum(1)求出来了再把sum(1)的值返回再加上

  2 也就是求出了sum(2),sum(2)求出来了再加上3,sum(3)也求出了最后函数执行终止。。。。

  讲了这么多。。只是为了你理解的透彻些。。。其实计算机也是这样运行的。。。呵呵。。。。

  你可以这么理解,你把sum($a-1)当成另一个sum函数来执行,它和这个sum是同一的结构,它的返回值就是sum($a-1)的值。

https://www.penganxian.com/jisuanji/255.html