哦,明白了,我搞错了,以为0的阶乘等于1呢!看来我的程序是有点问题的。
long fac(int n)
{
assert(n >= 0);
long sum = 1;
int i;
if (n == 0)
sum = 0;
for (i=1; i<=n; i++)
{
sum *= i;
}
return sum;
}
还有,3楼的兄弟,燕子说你越改越糟是因为你把我的断言给去掉了, 而且你的算不出来输入为0的结果。
----------------解决方案--------------------------------------------------------
0的阶乘难道不是等于1??
[color=white]
----------------解决方案--------------------------------------------------------
程序代码:
long fac(int n)
{
assert(n >= 0);
long sum = 1;
int i;
if (n == 0)
sum = 0;
for (i=1; i<=n; i++)
{
sum *= i;
}
return sum;
}
----------------解决方案--------------------------------------------------------
0的阶乘难道不是等于1??
[color=white]
----------------解决方案--------------------------------------------------------