problemas na comparação de ponto flutuante [duplicado]

Esta pergunta já tem uma resposta aqui:

aída estranha em comparação de float com float literal 8 respostas
void main()
{
    float f = 0.98;
    if(f <= 0.98)
        printf("hi");
    else
        printf("hello");
    getch();
}

Estou recebendo esse problema aqui. Ao usar diferentes valores de ponto flutuante de f, estou obtendo resultados diferentes. Porque isso está acontecendo

questionAnswers(2)

yourAnswerToTheQuestion