Please consider the following code

Code:
void main()
{
  float a = 0.7;
  if(a <= 0.7)
     printf("Less or equal");
  else
    printf("Greater");
}
Surprisingly (for me) it printed
Code:
Greater
However, when I change the initialization expression to the following
Code:
float a = 0.8;
and change the if condition to
Code:
  if(a <= 0.8)
it prints the expected output:
Code:
Less or equal
Kindly explain. Thank you in advance.