«Strlen (s1) - strlen (s2)» никогда не меньше нуля
В настоящее время я пишу программу на C, которая требует частого сравнения длин строк, поэтому я написал следующую вспомогательную функцию:
<code>int strlonger(char *s1, char *s2) { return strlen(s1) - strlen(s2) > 0; } </code>
Я заметил, что функция возвращает истину, даже когдаs1
имеет более короткую длину, чемs2
, Может кто-нибудь объяснить это странное поведение?