C语言 求1的阶乘累加到10的阶乘!求解答!

2024-12-30 11:47:21
推荐回答(4个)
回答1:

long int 范围不够,像这种在某个数值继续变大后突然为负的现象,为上溢出,改成long long int,再不够用double,但注意,用double后,就不再是整形,精度只能保留15为,但是大小就要高很多,再不够还可以用long double ,当然还可以用字符数组等方式存更大的数,那就需要底层的知识了,有不懂的地方可以问我

回答2:

那就说明这个结果超出了你的机器上long类型数据的范围,用double来定义sum和s吧,最后的输出说明符改成%lf

回答3:

因为int型上限数值是32768 超过了就成了负数了 请考虑用高精度乘法 可以把结果算到很大很大很大

回答4:

数值超过了long int 的范围