当统计递归函数被调用的次数时,可以定义一个全局变量,将全局变量插入到递归函数中,通过函数调用的副作用来统计递归函数的调用次数
//如下程序的功能是计算 Fibonacci数列的第n项。函数fib()是一个递归函数。请你改写该程序,计算第n项的同时,统计调用了多少次函数fib(包括main()对fib()的调用)
#include<stdio.h>
int cnt=0;
int fib(int k);
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", fib(n));
printf("递归调用了%d次",cnt);
return 0;
}
int fib(int k)
{
cnt++; //累加表示次数
if(k == 1 || k == 2)
{
return 1;
}
else
return fib(k-1) + fib(k-2);
}