阶乘超过13后结果就出错
include<stdio.h>
int main()
{
int i,p,q;
i=2;
q=1;
printf("输入一个小于13的正整数:\n");
scanf("%d",&p);
if(p>=13||p<=0) //去除无法计算的输入
printf("无法计算该阶乘\n");
else {
while (i<=p)
{
q=q*i;
i=i+1;
}
printf("%d的阶乘结果为%d\n",p,q);
}
return 0;
}
int定义的值我记得最多2^32-1位数,应该换什么才能改变这个情况,计算大于等于13后的阶乘