why it is wrong answer?

#include<stdio.h>
int a[5],f[5];
int main()
{
int n,i,j,k;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<n;j++)
{
f[j]=1;
for(k=a[j];k>0;k–)
{
f[j]=f[j]*k;
}
printf("%d\n",f[j]);

}
return 0;

}