递归函数
递归就是一个函数在它的函数体内调用它自己。
例:计算n的阶乘
int factorial(int n){
int result;
if(n==0||n==1){
result=1;
}else{
result=factorial(n-1)*n;
}
return result;
}
int main(){
int n=5;
printf("%d的阶乘=%d",n,factorial(n));
return 0;
}
特点:
1、每一级函数调用时都有自己的变量,但函数代码并不会得到复制
2、每一次调用都会有一次返回
3、递归函数中,位于递归调用前的语句和各级被调用函数具有相同的顺序
4、递归函数中,位于递归调用后的语句的执行顺序和各个被调函数的顺序相反
5、递归函数必须有终止语句