"Strlen (s1) - strlen (s2)" ist niemals kleiner als Null

Ich schreibe gerade ein C-Programm, das häufige Vergleiche der Zeichenfolgenlängen erfordert, daher habe ich die folgende Hilfsfunktion geschrieben:

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

Mir ist aufgefallen, dass die Funktion auch dann true zurückgibt, wenns1 hat eine kürzere Länge alss2. Kann mir bitte jemand dieses seltsame Verhalten erklären?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage