四则运算结果为什么不一样?
static/image/hrline/2.gif
#include <stdio.h>
void main()
{
printf("%f\n",1.0/3*3);
printf("%f\n",3/2);
printf("%f\n",1/3*3);
}
static/image/hrline/1.gif
这个程序在不同的编译系统下运行,为什么在VC6.0和GCC下会得到不同的结果?
在GCC下运行,不同的计算机也得到了不同的结果?
看编译器警告吧
正确的应该这么改#include <stdio.h>
int main()
{
printf("%f\n",1.0/3*3);
printf("%f\n",3.0/2);
printf("%f\n",1.0/3*3);
}
我也不懂。。。回复下,赚个积分。为什么要那么闲着蛋疼去研究这种问题。。。有时间还不如多看点别的。 可以把你的不同结果,晒出来么 :ton: 不同编译器在精度上会有些差异,没什么关系啦!:) 楼上的带有行标的代码行,就是1,2,3,……,是怎么上传的?教我下,谢谢!
页:
[1]