对变量的赋值有一些问题
int fac(int n)
{
int f=0;
while (n < 0)
{
printf("错误数据请重新输入:");
scanf("%d", &n);
}
if (n == 0 || n == 1)
{
n = 1;
}
else
{
f = fac(n - 1) * n;
}
return f;
}
这是一个实现阶乘的函数,为什么返回值f=0,else中对f的赋值不起作用吗?