# include<stdio.h>
void f(int n)
{
if ( n == 1 )
printf("chongyou\n");
else
f( n - 1 );//直接调用自己
}
int main (void)
{
f(100);
return 0;
}
# include<stdio.h>
void f(int n);
void g( int n )
{
f(n);
}
void f(int n)
{
if ( n == 1 )
printf("chongyou\n");
else
g( n - 1 );//通过函数g间接调用自己
}
int main (void)
{
f(100);
return 0;
}
2、使用递归必须满足三个条件
a、必须有一个明确的终止条件
b、函数所处理的数据规模必须在递减
c、问题必须是有解的
3、简单举例
(1)、求一到一百的和(阶乘求法与此类似)
#include<stdio.h>
long sum(int n)
{
if ( n == 1)
return 1;
else
return n + sum ( n - 1 );
}
int main (void)
{
printf( "%ld\n", sum ( 100 ) );
return 0;
}