本文介绍: 上面就是C语言最简单的递归代码。但是这种代码最终会陷入死递归,导致栈溢出(Stack overflow)。
递归是什么?
递归,顾名思义,就是递推和回归。
递归是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。
上面就是C语言最简单的递归代码。但是这种代码最终会陷入死递归,导致栈溢出(Stack overflow)。
递归的核心是思想和限制条件:
1、思想:把一个大型复杂的问题层层转化为一个与原问题相似,但规模较小的子问题来求解;直到子问题不能再拆分,递归就结束了。所以递归的思考方式就是把大事化小的过程。
2、递归在书写时,有了两个必要条件:一是递归要存在限制条件,当满足这个限制条件,递归结束。二是每次递归调用之后越来越接近这个限制条件,避免死递归。
递归举例
例1:求n的阶乘
递归与迭代
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。