Сравнение с плавающей запятой [дубликат]

На этот вопрос уже есть ответ здесь:

int main()
{
    float a = 0.7;
    float b = 0.5;
    if (a < 0.7)
    {
       if (b < 0.5) printf("2 are right");
       else         printf("1 is right");
    }
    else printf("0 are right");
}

Я ожидал, что вывод этого кода будет 0 правильных . Но, к моему ужасу, вывод 1 правильный почему?

63
задан Pieniadz 16 August 2011 в 17:54
поделиться