Float和Double值在c中造成混淆

时间:2013-07-06 06:43:10

标签: c++ c floating-point double

我正在运行此程序。但得到奇怪的结果。

int  main()
{
float a=.8;
if(a < .8)
    printf("a is small\n");
else
    printf("a is not small\n");

float b=.7;
if(b < .7)
    printf("b is small\n");
else
    printf("b is not small\n");
return 0;
}

它给了我输出 -

  

a不小

     

b很小

1 个答案:

答案 0 :(得分:0)

为什么不使用0.7f0.7默认为double,因此我们无法预测其行为