Hi
The explanation is quite simple:
Due to the roundings done in floating point calculations 0.2 / 0.2 is not really 1.0, but 0.9999....
As you see the default rounding method of your compiler is 'towards zero', in other words 'cut off everything after dot', so you got your 0 integer.
I think I could give you one more warning.
Because of the nature of relation between binary and decimal, it is not even possible to represent numbers, like 0.2 in float preciselly. If you checked it more carrefully you can find you they are ROUNDED to the nearest representablefloat, that is somewhat like 0.2000(...)2.
If being precise is 'a must' for you (things like indexing arrays), using floating points is not the best idea. You should remember that these representation is always treated as 'the value nearby X'.
Good luck