En C tu n'es pas obligé de déclarer tes fonctions avant de les utiliser. Par contre, je suis sûr que tu avais un warning de ton compilo à ce propo (et particulièrement lorsque tu as forcé h en float, car là il t'as dit en plus qu'il y avait un cast dangereux).
Mais quand tu ne déclare par tes fonctions tous leur arguments sont forcément des int et le type de retour aussi, sinon, ça ne va pas fonctionner.