99问答网
所有问题
C语言大神请进
为什么30的阶乘成负的了😱帮忙看看哪有问题
举报该问题
推荐答案 推荐于2016-03-26
因为溢出了。在32位编译器中int型的长度是4字节,范围是-2,147,483,648~2,147,483,647。而30!超出了int能表示的最大值造成溢出。
解决办法:换用无符号整型(unsigned int型),或者采用高精度乘法。
追问
谢谢啦
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/W77jWvBjeBWjetzXe7X.html
其他回答
第1个回答 2015-01-29
30!是一个长度为33位的整数,已经远远超出了long int的值域,所以不可以用普通的基本类型和运算方式表达。
第2个回答 2015-01-29
30的阶乘越界了
int类型最多能表示9-10位的整数
相似回答
大家正在搜
相关问题
C语言大神请进(高分)
大神请进解释一个c语言问题
C语言大神请进
C语言大神请进~~
C语言问题,大神请进
C语言大神请进
C语言大神请进!