我编写了一个程序来对用户输入的数字进行阶乘。它是用于赋值的,必须写入,以便第一个函数读取一个值,然后将其传递给主函数,然后主函数将其传递给第二个函数,该函数计算数字的阶乘,然后将其打印给用户。问题是它一直显示“1”作为每个数字的阶乘。我究竟做错了什么?
#include <stdio.h>
int getValue()
{
int n;
printf("Enter number: ");
scanf("%d%*c", &n);
return(n);
}
int factorial(int n)
{
int i, f;
f=1;
for(i=1; i<=n; i++)
f=f*i;
printf("The factorial is: %d", f);
return(f);
}
int main()
{
int f;
getValue();
factorial(f);
return(0);
}