用C语言求20的阶乘,为什么会有溢出啊?

2025-04-24 21:04:32
推荐回答(3个)
回答1:

一般的电脑long为32bit,而integer是16或32bit,short int 是16bit
至于怎么运算:如果是无符号的话,就是long := 2^32-1就这么算,希望能够帮到你。

回答2:

20!= 2.4329020081766 * 10 18 已经很大了。。。超出了long了。

这个有个数阶乘:

http://blog.csdn.net/hikaliv/article/details/4242988

回答3:

结果超出long的存储范围了, 用字符数组来做