私は数の階乗を見つけるプログラムを作った。しかし、整数データ型の答えは最大12、浮動小数点数は13です。しかし、整数と浮動小数点のsizeofは32です。なぜ私は異なる答えを見ていますか?浮動小数点数と整数を使うときに、このプログラムが異なる答えを出力するのはなぜですか?
#include<stdio.h>
int main()
{
int n,i=1,fact=1;
scanf("%d",&n);
while(i<=n)
{
fact=fact*i;
i=i+1;
}
printf("fact is %d\n",fact);
return 0;
}