【发布时间】:2012-12-27 03:02:08
【问题描述】:
我最近才开始学习 C,所以我意识到我的问题非常基础,但非常感谢任何帮助。
我试图让函数 fact 将 res 值返回给 main,但是当我在 main 中打印出结果时,我只得到 0。通过插入一些打印语句,我可以看到 res 实际上计算正确例程,但结果未正确返回到 main。
我确定我在这里遗漏了一些非常基本的东西。
谢谢
#include <stdio.h>
unsigned long fact (int n){
unsigned long res = 1;
while ( n >= 0 )
{
res *= n;
n--;
}
return res;
}
int main (void){
int n;
unsigned long res;
printf("Insert number:\n");
scanf("%d", &n );
res = fact (n);
printf("The factorial number is %lu", res);
return 0;
}
【问题讨论】:
-
在
while循环的最后一次迭代中,n的值是多少? -
这个很容易通过调试发现