Re:C Strings and my slow descent to madness
by infradig on Thursday April 06, 2023 @09:32AM
(#35468094)
I stopped when I read strcmp returns 0 if two strings are equal and 1 if they aren't.
[ Parent
| on HN ]
A much better description of strcmp's behaviour: https://en.cppreference.com/w/c/string/byte/strcmp
It's actually 0 if equal, positive if greater, negative if less than.
> The strcmp() and strncmp() functions return an integer greater than, equal to, or less than 0, according to whether the string s1 is greater than, equal to, or less than the string s2. The comparison is done using unsigned characters, so that ‘\200’ is greater than ‘\0’.
Re:C Strings and my slow descent to madness
by jstimpfle on Thursday April 06, 2023 @10:02AM
(#35468428)
cmp stands for compare, so the behaviour (returns <0, 0, or >0) is completely reasonable. With three possible outcomes, the function is suitable to be used for sorting.
Re:C Strings and my slow descent to madness
by jhatemyjob on Thursday April 06, 2023 @11:20PM
(#35477643)
It's sad how often you find the truth at the very bottom of a HN thread these days