我想编写一个简单的程序来使用C计算给定数字的阶乘。但是我的代码似乎存在一些我无法检测到的逻辑错误。希望得到帮助。
int fact(int n);
int main(void)
{
int num = get_int("Type number: ");
printf("%i\n", fact(num));
}
//define function
int fact(int n)
{
for (int i = 1; i < n; i++)
{
n *= i;
}
return n;
}
int fact(int n)
{
int sum = 1;
for (int i = 1; i <= n; i++)
{
sum = sum * i;
}
return sum;
}