为什么有这样的结果?
不同的编译器计算方法不同,但是为什么会这样?程序:float a,b,c;
for(a=0;a<300;a++)
{for(b=0;b<300;b++)
{for(c=0;c<=300;c++)
{
if((5*a+3*b+1.0/3.0*c)==100)
printf("%d,%d,%d\n",(int)a,(int)b,(int)c);}}}
用VC6.0得出的结果是一大堆,几十个。
但是用devc++得出的结果不到十个,这是啥意思?(注:devc++重装没有用,全是float或double型的也是这个结果。就是后面多了.000000)
devc++的结果:
2,30,0
5,25,0
8,20,0
11,15,0
14,10,0
17,5,0
20,0,0