//利用递归的方式打印整数的每一位
//1234 1 2 3 4
//1234/10=123.4 123/10=12.3 12/10=1.2
#include <stdio.h>
void pri(int n)
{
if (n>9) {
pri((n/10));
}
printf(" %d ",n%10);
}
int main()
{ int a=1234;
pri(a);
return 0;
}
//利用递归的方式求阶乘
// N factorial
//n!=1*2*3*4*...*(n-1)*n
#include <stdio.h>
int factorial(int n)
{
if (n<=1)
return 1;//不return1 的话函数(1)的时候没有返回值
else
return n*(factorial(n-1));
}
int main()
{
int i;
i=5;
printf("阶乘为%d",factorial(i));
return 0;
}
//strlen的模拟(递归实现)
#include <stdio.h>
int Strlen(char*str)
{
if(*str == '\0')
return 0;
else
return 1+Strlen(str+1);
}
int main()
{
char *p = "abcdefgh";
int len = Strlen(p);
printf("%d\n", len);
return 0;
}