用c语言写求费波纳契数列前n项和代码说明 重点是被调用的fab函数

#include<stdio.h>
int fab (int n);
void main()

{
int n ;
printf("输入n:");
scanf( "%d", &n );
printf("前n项和是%d \n",fab(n) );

}

int fab( int n )
{
if ( n==1||n==2 ) return 1;
else return fab(n-1) + fab (n-2);

}

fab为递归调用函数,C语言允许函数的递归调用,return语句给出的函数返回值即为函数运行时所给出的结果,相当于赋值语句fab(n)=fab(n-1)+fab(n-2),但是递归调用不能无限的进行下去,所以需要一个停止点,也称为递归出口,if条件句给出的就是递归调用函数所需要的递归出口 即当n为1或者2的时候,令输出为1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-24
你想说明什么? 给代码注释??
相似回答