递归函数为啥需要返回值,他的返回值有什么要求,怎么写,还有比如下面的代码,怎么看出他是n=1的时候结束的
#include <stdio.h>
int main()
{
int sub(int n);
int i=5;
printf("%d\n",sub(i));
return 0;
}
int sub(int n)
{
int a;
if(n==1) return 1;
a=n+sub(n-1); //递归调用
return(a);
}
if(n==1) return 1;
return 最后一个函数的返回,然后依次倒数第二个,倒数第三个......第二个,第一个,结束