函数递归
递归定义:
程序调用自身的编程技巧称为递归( recursion)。 递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
递归的主要思考方式在于: 把大事化小
递归的必要条件:
- 存在限制条件,当满足这个限制条件的时候,递归便不再继续。
- 每次递归调用之后越来越接近这个限制条件。
递归函数举例:
-
接受一个整型值(无符号),按照顺序打印它的每一位。
解析:
如输入1234,要使按顺序输出1 2 3 4
函数带入参数(1234)
由于1234不是单个数字,则进入向内层递 的过程(给1234/10)
再次带入参数(123)
由于123不是单个数字,则进入向内层递 的过程(给123/10)
再次带入参数(12)
由于12不是单个数字,则进入向内层递 的过程(给12/10)
再次带入参数(1)
由于1是单个数字,则进行打印并向外层归 的过程。
代码:
#include <stdio.h>
void print(int n) {
if(n>9