#include<stdio.h>
int main()
{
int s=1,i,n;
printf("请输入一个数:\n");
scanf("%d",&n);
int a=n;
if(n==0||n==1)
s=1;
while(n>1)
{
s=s*n;
n--;
}
printf("%d!=%d",a,s);
return 0;
}
请问一下为什么到13以后计算出来的结果就不对了
#include<stdio.h>
int main()
{
int s=1,i,n;
printf("请输入一个数:\n");
scanf("%d",&n);
int a=n;
if(n==0||n==1)
s=1;
while(n>1)
{
s=s*n;
n--;
}
printf("%d!=%d",a,s);
return 0;
}
因为会爆int,int类型最大2147483647