结果是什么?具体是如何运行的?

对于以下递归函数f,调用f(4),其返回值为() 。

 

 

 

int f(int n)

 

{  

 

     if (n) return f(n - 1) + n;

 

     else return n;

 

}

递归调用,f(4)=f(3)+4;f(3)=f(2)+3;f(2)=f(1)+2;f(1)=f(0)+1;f(0)时,条件不成立,返回0,所以最后结果是f(4)=4+3+2+1=10

我觉得是0+1+2+3+4

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^