Do porównywania zmiennych typu float nie należy stosować operatora porównania, ze względu na to jak te zmienne są przechowywane w pamięci i wynikającą z tego niedokładność.
Sprawdzić to możesz dzięki takiej konstrukcji:
if (fabs(a - b) < epsilon)
gdzie a i b to zmienne typu float, a epsilon to pewna bardzo mała liczba. Użycie funkcji fabs() upewnia Cię, że wynik będzie nieujemny - wyrażenie fabs(a - b) możesz potraktować jako odjęcie mniejszej liczby od większej.
Tak dla ścisłości - to nie jest funkcja warunkowe, a instrukcja warunkowa - funkcja to zupełnie inny element w oprogramowaniu.