私はごく最近 C を学び始めたので、私の質問が非常に基本的なものであることは理解していますが、どんな助けも大歓迎です。
関数ファクトで res 値をメインに戻そうとしていますが、メインで結果を出力すると 0 になります。いくつかの print ステートメントを挿入すると、ファクト ルーチンで res が正しく計算されていることがわかりますが、結果がメインに正しく返されません。
ここで非常に基本的な何かが欠けていると確信しています。
ありがとう
#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;
}