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.