“Strlen (s1) - strlen (s2)” nunca é menor que zero

Atualmente, estou escrevendo um programa em C que requer comparações freqüentes de comprimentos de string, então escrevi a seguinte função auxiliar:

<code>int strlonger(char *s1, char *s2) {
    return strlen(s1) - strlen(s2) > 0;
}
</code>

Eu notei que a função retorna true mesmo quandos1 tem um comprimento menor ques2. Alguém por favor pode explicar esse comportamento estranho?

questionAnswers(3)

yourAnswerToTheQuestion