#include <stdio.h>
#include <conio.h>
int main()
{
long signed fact=1;
int c, n ;
printf("Factorial to be calculated: ");
scanf("%d", &n);
for (c = 1; c <= n; c++)
fact = fact * c;
printf("Factorial of %d = %ld\n", n, fact);
getch();
return 0;
}
在上面的C程序中,当我运行时,我不能得到13!正确的。12 的输出为真。我该如何解决这个问题?我认为长期未签名就足够 13 了。