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