先看看下面这段程序
#include <stdio.h>
#include <stdlib.h>
int main()
{
int fac(int n);
int n,y;
scanf("%d",&n);
y=fac(n);
printf("%d",y);
return 0;
}
int fac(int n)
{
int f;
if(n==0||n==1)f=1;
else f=fac(n-1)*n;
return (f);
}
说白了 ,递归就是自己调用自己。上面的程序中,用递归求阶乘便是最典型的例子。虽然可以通过循环来求解,但是递归的显然更简洁。
- #include <stdio.h>
- #include <stdlib.h>
int
main()
- {
int
fac(
int
n);
int
n,y;
scanf
(
"%d"
,&n);
y=fac(n);
printf
(
"%d"
,y);
return
0;
- }
int
fac(
int
n)
- {
int
f;
if
(n==0||n==1)f=1;
else
f=fac(n-1)*n;
return
(f);
- }