strcmp()返回C中的值

dmu*_*ubu 21 c strcmp

我正在学习strcmp()C.我明白当两个字符串相等时,strcmp返回0.

但是,当strcmp第一个字符串小于第二个字符串时,手册页状态返回小于0时,它是指长度,ASCII值还是其他什么?

Mys*_*ial 26

从这个意义上讲,字符串的"小于"意味着词典(字母)顺序.

所以cat不如dog因为cat按字母顺序排在前面dog.

在某种意义上,词典顺序是所有ASCII(和UNICODE)字符的字母顺序的扩展.


JRL*_*JRL 8

大于零的值表示不匹配的第一个字符在第一个字符串中的值大于在第二个字符串中的值,而小于零的值表示相反的值.


Kei*_*son 6

C99 7.21.4:

由比较功能返回非零值的符号 memcmp,的strcmpSTRNCMP由第一个字符对(均为解释为的值之间的差的符号来确定无符号字符),在对象不同进行比较.

特别注意结果不依赖于当前的语言环境; LC_COLLATE(见C99 7.11)影响strcoll()strxfrm(),但不会strcmp().