«Strlen (s1) - strlen (s2)» никогда не меньше нуля

В настоящее время я пишу программу на C, которая требует частого сравнения длин строк, поэтому я написал следующую вспомогательную функцию:

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

Я заметил, что функция возвращает истину, даже когдаs1 имеет более короткую длину, чемs2, Может кто-нибудь объяснить это странное поведение?

Ответы на вопрос(3)

Ваш ответ на вопрос