quando scrivi

codice:
if (l = h) ...
viene eseguito

codice:
l = h;
if (l) ...
se h era maggiore di 0, allora anche l diventa maggiore di 0 e quindi "if (l)" è vero.