当前位置: 代码迷 >> C语言 >> turboc中关于溢出的问题,大家指点一下
  详细解决方案

turboc中关于溢出的问题,大家指点一下

热度:168   发布时间:2006-01-24 20:05:00.0
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);
}
}

搜索更多相关的解决方案: turboc  

----------------解决方案--------------------------------------------------------
说明一下,用的是m!/(n!*(m-n)!)的方法。
----------------解决方案--------------------------------------------------------

printf("\n%d",s);


----------------解决方案--------------------------------------------------------

搞什么啊,不是组合吧?就是个阶乘啊
printf("\n%u",s);


----------------解决方案--------------------------------------------------------

不好意思,这是个子函数,我发现就是这块出的错,所以只传了子函数!
谢谢!!糗


----------------解决方案--------------------------------------------------------