函数递归调用的理解
为了理解函数递归调用,小弟编了一个简单程序,但没办法理解它为什么输出1.0。能否请前辈给讲解一下,这个fmg(5,1)到底怎么运行?感谢。
程序代码:#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double fmg(int maxlevel,int levsta)
{
double b;
b=0;
if (maxlevel==levsta) b=maxlevel;
else if (maxlevel>levsta) {fmg(maxlevel-1,levsta); b+=1;}
return (b);
}
void main()
{
double a;
a=0;
a+=fmg(5,1);
printf("\n %f \n",a);
}






