递归就是死循环,但是很多算法程序都是由它所展开的,所以比较重要。
使用递归时有两个重要点:
1.有反复的执行过程(调用自身)。
2.有跳出反复执行过程的条件()
下面我用两个小程序来表示递归:
1.
#include<stdio.h>
int num = 0;
void test(){
printf("%d\n", num++);
test();
}
int main(){
test();
}
2.
#include<stdio.h>
int factorial(int num);
int factorial(int num){
if (num ==1){ //退出条件
return 1;
}else{
num *= factorial(num-1);
return num;
}
}
int main(){
int result = factorial(5); //计算5的阶层
printf("5的阶层为%d", result);
}