【发布时间】:2014-10-17 15:12:54
【问题描述】:
我无法相信我的程序中发生的事情
double den = 180*3600*10000 ;
在调试a得到这个值-2109934592.0000000
请帮忙???
你可以试试这个简单的代码
#include<stdio.h>
#include<math.h>
int main ( int argc , char *argv )
{
double denominator = 10000*180*3600 ;
printf("%f \n", denominator ) ;
return 0 ;
}
【问题讨论】:
-
这不可能,请出示您的完整代码。
-
显示真实代码。使用所有警告和调试信息编译它 (
gcc -Wall -g) -
应该是 648000000。我猜那里有一个短或整数溢出。你没有发布真正的代码。
-
@MadScienceDreams 结果不会溢出为 648,000,000
-
提供的代码溢出,因为原始问题没有。仅供参考,1000
标签: c multiplication