why did i get NZEC error for this program
#include<stdio.h>
int main()
{
int i,j,a[190],m,d1,d2,k,t,n;
scanf("%d",&t);
while(t>0)
{scanf("d",&n);
for(i=0;i<190;i++) a[i]=0;
a[0]=1;
d1=d2=0;
for(i=2;i<=n;i++)
{
for(m=189;m>=0;m--)if(a[m]!=0) break;
for(j=0;j<=m;j++)
{ d1=d2;
a[j]=a[j]*i+d1;
d2=a[j]/10;
a[j]=10;
if(d2>0&&j==m)
{
k=1;
while(d2>0)
{
a[j+k]=d2%10;
d2/=10;
k++;
}
}
}
}
for(i=189;i>=0;i–) if(a[i]!=0) break;
for(;i>=0;i–) printf("%d",a[i]);
printf("\n");
t–;
}
return 0;
}