I am learning about strcmp()
in C. I understand that when two strings are equal, strcmp
returns 0.
However, when the man pages state that strcmp
returns less than 0 when the first string is less than the second string, is it referring to length, ASCII values, or something else?
In this sense, "less than" for strings means lexicographic (alphabetical) order.
So cat
is less than dog
because cat
is alphabetically before dog
.
Lexicographic order is, in some sense, an extension of alphabetical order to all ASCII (and UNICODE) characters.
A value greater than zero indicates that the first character that does not match has a greater value in the first string than in the second, and a value less than zero indicates the opposite.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With