这是阶乘的代码:
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
long long fact=1;
int i=1;
for(i=1;i<=n;i++)
{
fact*=i;
}
printf("%d!=%d\n",n,fact);
return 0;
}
1到12的阶乘都是对的,但是13开始就是错误的结果,但是 long long型的数据并没有超出取值范围,有大佬知道是为什么吗?
%llu : unsigned long long