开发者社区> 问答> 正文

递归函数怎么理解呢?

<?php

function test( $n ) {                       
    echo $n."&nbsp;&nbsp;";                 

    if($n>0)                            
        test($n-1);                         
    else                                    
        echo " <--> ";                  

    echo $n."&nbsp;&nbsp;";                 
}

test(10);                                   

?>

输出:

10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10

这后半部分的1 2 3 4 5 6 7 8 9 10 是怎么输出出来的?
不理解

展开
收起
a123456678 2016-03-23 14:44:28 2059 0
1 条回答
写回答
取消 提交回答
  • 很好理解,递归就是自己调用自己。
    如果先调用,再输出,那么就相当于堆栈,因为先调用内侧,再输出自身,而内侧又先调用内侧的内侧……结果就是最内侧先执行,再外面一层,再再外面一层……
    如果先输出,再调用,就相当于队列。这种情况也叫做尾递归。

    2019-07-17 19:11:05
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载