求15!的值,为什么是错的

#include<stdio.h>
int main()
{ int i,n,s=1;
printf("Please enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s*i;
printf("%d! = %d\n",n,s);
return 0;
}

计算结果太大超过了int等表示的范围

太大了溢出了
使用double或long long试试