为什么这串代码到33都是对的,34以后就都是错的了
#include<stdio.h>
int main()
{
int n,i,a[999]={0},len=1,j;
a[0]=1;
scanf("%d",&n);
for(i=1;i<n;i++)
{
int c=0;
for(j=0;j<len;j++)
{
a[j]=a[j]*(i+1)+c;
c=a[j]/10;
a[j]=a[j]%10;
}
if(c!=0)
{
len++;
a[j]=c;
}
}
for(i=len-1;i>=0;i--)
printf("%d",a[i]);
return 0;
}
数太大了你就定义成long,或者更大的类型
int溢出了