turboc中关于溢出的问题,大家指点一下
这个是自己编的小函数,求m,n的组合,就是 n ,在执行8以前的时候能正常运行,但是到8的时候就溢出了,但是我的s设为 long int 型了阿,为什
C m
么还是溢出了阿?实在是想不明白,大家指点一下。
程序如下:
#include <stdio.h>
void main()
{int i,n;unsigned int s=1;
scanf("%d",&n);
if(n==0) printf("error");
else
{ for(i=1;i<=n;i++)
s*=i;
printf("\n%d",s);
}
}