比较c中的浮点数时错误的结果

时间:2017-03-03 11:00:05

标签: c codeblocks comparison-operators

我正在尝试一个简单的程序,其中我使用了一个浮点数,并在每次输出与预期不同时将其与固定数字0.5,0.7,0.8进行比较。我的代码是

#include<stdio.h>
int main*()
{
    float a = 0.5;
    if (a > 0.5)
        printf("greater");
    else if (a < 0.5)
        printf("less");
    else if (a == 0.5)
        printf("equal");

}

现在疯狂的部分是当我用a的0.5值执行它并用代码替换0.5代码时它打印相等,如果用0.7然后更少而如果用0.8则打印更大。我无法弄明白。请问有人解释一下吗?我为此使用了代码块16.01,并尝试使用Turbo C ++。

0 个答案:

没有答案