#include <stdio.h>
main()
{
    float f = 0.1;
    if (f == 0.1)
        printf("True");
    else
        printf("False");
}
OUTPUT:
    False
Why does it print False and not True?
#include <stdio.h>
main()
{
    float f = 0.1;
    if (f == 0.1)
        printf("True");
    else
        printf("False");
}
OUTPUT:
    False
Why does it print False and not True?
 
    
     
    
    You should not use != to check float!
The code is equal to check if (0.1f == 0.1), as promotion and conversion rules mean that the comparison take place between double numbers. The decimal number 0.1 is represented differently as a single-precision float and as a double-precision double (and none of these two representations is exact), so when 0.1f is promoted to double, the result is quite a bit different from the double representing 0.1.
You should use
if (fabs(f-0.1) < 0.001)      // for 0.001, can be other suitable precisions 
P.S.: To read on, check out What Every Computer Scientist Should Know About Floating-Point Arithmetic.
 
    
    Typical floating point does not exactly represent numbers like 0.1 exactly.
0.1 is a double and is only nearly the numeric value 0.1 - see below.  Assigning that to a float creates a further reduction in precision.  
float f = 0.1;
// Convert 0.1 to a `double`.  closest double is     0.10000000000000000555
// Assigned that double to a float: closest float is 0.10000000149011611938
Finally comparing this to the high precision double version of 0.1 leads to a mis-match.
if (f == 0.1) // does not compare as equal
// compare f which is 0.10000000149011611938 to 
// 0.10000000000000000555 and they are not equal.
Example
volatile float f = 0.1;
printf("%.20f\n", f);
// 0.10000000149011611938
volatile double d = 0.1;
printf("%.20f\n", d);
// 0.10000000000000000555
 
    
    Do not use (in)equality for floating point numbers - They are stored as imprecise numbers - That is where the floating bit comes in
Write
if (fabsf(f - 0.1) < precision) ...
Where precision is the accuracy you require
See fabs(3) and What Every Computer Scientist Should Know About Floating-Point Arithmetic