函数递归调用的理解
为了理解函数递归调用,小弟编了一个简单程序,但没办法理解它为什么输出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); }