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