1.每级函数调用都有自己的变量.
2.每次函数调用都会返回一次.
3.递归函数中位于递归调用之前的语句,均按被调函数的顺序执行.
4.递归函数中位于递归调用之后的语句,均按被调函数相反的顺序执行.
5.虽然每级函数都有自己的变量,但并没有拷贝函数的代码.程序按顺序执行函数中的代码,而递归调用就相当于又从头开始执行函数的代码.除了每次为递归调用创建变量外,递归调用非常类似于一个循环语句.实际上,递归有时可以用循环来代替,循环有事也能用递归来代替.
6.递归函数必须包含能让递归调用停止的语句.通常,递归函数都使用if或者其他等价的测试条件在函数形参等于某特定值时终止递归.为此,每次递归调用的形参都要使用不同的值.