“I <0.7” é verdadeiro após uma inicialização “float i = 0.7” acima? [duplicado]

Duplicata Possível:
Comparação de ponto flutuante

#include<stdio.h>
#include<conio.h>
int main()
{
float i=0.7;
clrscr();
if(i < 0.7)
     printf("If Block");
else
     printf("Else Block");
getch();
return 0;
}

Eu não entendo o que a saída será "Se bloquear" ..... por favor ajude por que a parte if é executada?

questionAnswers(1)

yourAnswerToTheQuestion