ユーザーが入力した数値の階乗を与えるプログラムを書きました。これは割り当て用であり、最初の関数が値を読み取り、それをメインに渡し、メインがこれを2番目の関数に渡し、数値の階乗を計算してユーザーに出力するように記述する必要があります。問題は、すべての数値の階乗として「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);
}