下面函数利用递归实现了求1+2+…+n的功能:

来源:百度知道 编辑:UC知道 时间:2024/06/30 17:49:11
int sum(int n)
{
if(n==0)
return 0;
else
return n+sum(n-1);
}
在执行sum(10)的过程中,递归调用sum函数的次数是多少?急求!拜谢!

10次~

递归调用sum函数的次数是n次
从sum(n-1)......sum(0)是n次

n-1次吧
9次

从9到0

应该是11次,检测方法如下:

int count=0;//定义一个全局变量
int sum(int n)
{
count++;//每调用一次sum函数count加一
if(n==0)
return 0;
else
return n+sum(n-1);
}
//然后在主函数中输出count的值就可以知道调用了多少次函数了哈。
//我设的主函数如下:
void main()
{
sum(10);
printf("%d",count);
}