“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?