我最近开始学习 C,所以我意识到我的问题是非常基础的,但任何帮助将不胜感激。
我试图让函数 fact 将 res 值返回给 main,但是当我在 main 中打印出结果时,我只得到 0。通过插入一些打印语句,我可以看到 res 在 fact 例程中正确计算,但是结果没有正确返回到 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;
}