#include<stdio.h>
int JieCheng(int n);//阶乘循环实现
int JieCheng1(int n);//阶乘递归调用实现
int FBNQ(int n);//斐波那契数列递归实现
int FBNQ1(int n);//斐波那契数列循环实现
int MyStrLen(char*str);
int main()
{
char*str="1234";
printf("%d",MyStrLen(str));
char*str="1234";
printf("%d\n",FBNQ(6));
return 0;
}
int JieCheng(int n)
{
int i;
int value=1;
for(i=1;i<=n;i++)
{
value*=i;
return value;
}
}
int JieCheng1(int n)
{
if(1 == n)
{
return 1;
}
return n*JieCheng1(n-1);
}
int FBNQ(int n)
{
if(1 == n || 2 == n)
{
return 1;
}
return FBNQ(n-1)+FBNQ(n-2);
}
int FBNQ1(int n)
{
if(1 == n || 2 == n)
{
return 1;
}
}
int MyStrLen(char*str)
{
if( *str == '\0')
{
return 0;
}
return 1+MyStrLen(str+1);
}
递归调用特点:
①出口点
②自调用
③代码简洁
递归调用与循环相比调用资源多,速度慢,胜在代码简洁。