读书人

好像是printf 溢出了,该怎么处理

发布时间: 2013-01-07 10:02:25 作者: rapoo

好像是printf 溢出了
各位高手
printf("x=%lf",(6.21/(310/3600)));
为什么 总会出来 x=1.#INF00 的 结果出来 呀
不明白道理 用win计算机算出来 结果是 72.1161....

如果 6.21 和 310 是double 类型 的变量 的话 这个
语句 怎么写 才能 让它 正确得出结果来呢


谢谢各位
[解决办法]
分明可爱的printf已经告诉你了 1.#INF = positive infinity =正无穷,可惜你看不懂
http://rosettacode.org/wiki/Extreme_floating_point_values

引用
positive infinity: 1.#INF00
negative infinity: -1.#INF00
negative zero: -0.000000
not a number: -1.#IND00
+inf + 2.0 = 1.#INF00
+inf - 10.1 = 1.#INF00
+inf + -inf = -1.#IND00
0.0 * +inf = -1.#IND00
1.0/-0.0 = -1.#INF00
NaN + 1.0 = -1.#IND00
NaN + NaN = -1.#IND00
NaN == NaN = false
0.0 == -0.0 = true

读书人网 >C语言

热点推荐