复调用其自身,每调用一次就进入新的一层。例如,有函数f如下。
int f(int x)
{
int y;
z=f(y);
return z;
}
但一定要有函数结束的临界点,上面那个是死循环,不停调用自身。
#include <stdio.h>
int fanzhuan(int n,int t)
{
t=t*10+n%10;
n/=10;
printf("%d %d\n",t,n);
if(n>0) return fanzhuan(n,t);
return t;
}
{
t=t*10+n%10;
n/=10;
printf("%d %d\n",t,n);
if(n>0) return fanzhuan(n,t);
return t;
}
int main()
{
int n,t=0;
scanf("%d",&n);
if(n<=0)
{
return 0;
}
else t=fanzhuan(n,t);
printf("%d\n",t);
return 0;
}
{
int n,t=0;
scanf("%d",&n);
if(n<=0)
{
return 0;
}
else t=fanzhuan(n,t);
printf("%d\n",t);
return 0;
}
这是一个将一个数倒过来的简单递归函数,希望对你有帮助。