返回列表 回复 发帖

PHP递归函数问题

大家好,偶是一菜鸟,没学过数据结构。自学PHP,今天看到一个递归函数想了好半天就是想不通,主要是其中return语句的作用是什么,它的返回值是给谁的?我不清楚这个。程序如下:
  1. <?PHP
  2. function recurser ($n)
  3. {   if ($n==0)
  4. return 1;//(这个1是返回给谁的?)
  5. else
  6. return $n * recurser($n-1);
  7. }
  8. $text=recurset(5);
  9. echo $text;
  10. ?>
复制代码
这是个求5的阶乘的程序。谢谢O(∩_∩)O~
窗内网汇智科技旗下在线教育平台
呵呵,关于你问的问题,return的返回值,首先我们要清楚这个函数是做什么用的,其实每个函数就是一个逻辑推算。这个函数既然要递归求阶乘,那它就应该是5*4*3*2*1。
我们看这个函数,它实际是5*(4*(3*(2*(1*1)))))。
这样我们就看出了return 1是干什么用的了,当n的值为0时,我们不能返回0,如果那样结果肯定是0了,那就没什么意义,所以当我们要得到$n * recurser($n-1)时,要保证recurser($n-1)的值最小为1。这样说,不知道你是否可以理解了。
窗内网汇智科技旗下在线教育平台

鑫懦代/考网。联系QQ:862464666.网站:www.xnksjyw.cn

专业提供各类考试;各类文凭证件办理;考试答案.
资格类考试:报关员考试| 报检员| 导游| 司法| 证券| 执业医师| 执业药师| 公务员考试;
外语类考试:英语四六级| 雅思| 托福| GRE| 商务英语BEC| 公共英语PETS| 职称外语;
学历计算机:高考| 考研| 自考| 成人高考| MBA/MPA| 法律硕士| 计算机等级| 软件水平;
财经类考试:注册会计师| 会计职称| 会计上岗证| 精算师| 税务师| 资产评估师| 经济师;
建筑工程类:建造师| 造价师| 建筑师| 监理师| 结构师| 咨询师| 规划师| 安全师.
多年操作经验,保证安全,高效,高成功率通过各类考试.欢迎广大需要帮助的考生找我们

.本公告长期有效
鑫懦[url=]代/考网.联系QQ:862464666.网站:
www.xnksjyw.cn[/url]        

返回列表