关于递归的问题
# include <stdio.h>float f(int a)
{
static sum=1;
sum=sum*a;
a=a-1;
if(a>0)
sum=f(a);
if(a==0)/******我在使用递归函数时,每次如果在这个要return的地方前面加一句if,都会出错,为什么,,,,,去掉这一句就正常了,WHY********/
return sum;
}
void main()
{
int a;
float y;
scanf("%d",&a);
y=f(a);
printf("%f\n",y);
}