C语言阶乘结果全是一

这个程序为什么输出之后都是1呢

img

img

fact*=1
改为
fact*=i

fact *=1;
当然返回的都是1了。把1改为i。
另外,99的阶乘肯定溢出了