不知道这样可不可以 我这要输入15才溢出,但是13,14好像是负数
#include<stdio.h>
int main(void)
{
unsigned int a,b,c=1,sum=0,k,data;
scanf("%d",&k);
for(a=1;a<=k;a++)
{
for(b=1;b<=a;b++)
c=c*b;
data = sum;
sum = sum+c;
if(data>sum)
{
data=-1;
break;
}
c=1;
}
if(data==-1)
{
printf("overflow\n");
return 0;
}
else
printf("%d\n",sum);
return 0;
}