“Strlen (s1) - strlen (s2)” nunca es menor que cero

Actualmente estoy escribiendo un programa en C que requiere comparaciones frecuentes de longitudes de cadena, así que escribí la siguiente función auxiliar:

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

Me he dado cuenta de que la función devuelve true incluso cuandos1 tiene una longitud más corta ques2. ¿Puede alguien explicar este extraño comportamiento?

Respuestas a la pregunta(3)

Su respuesta a la pregunta