我正在处理 C 中的字符串,我想问一下词典顺序到底是什么以及在 C 中如何使用。这是比较 2 个字符串的最佳方法。我读过有关 strcmp 及其词典比较的内容,但我很困惑。
最佳答案
strcmp
使用字典顺序来比较字符串。也就是说,它遵循字母表。在英语中,F 直接位于 G 之前,Z 直接位于 Y 之后。strcmp
考虑到了这一点,因为 ASCII 表中的字符按字母顺序排列。典型的 strcmp
函数是
int strcmp(const char *a, const char *b)
{
for (; *a && *b && *a == *b; ++a, ++b)
;
return *b - *a;
}
循环遍历字符,而\0
没有看到,当前字符相等。一旦字符变得不相等或看到 \0
,循环就会中断,并且会计算 return
表达式。如果看到 \0
,则两个字符相等,并且 \0
- \0
必须为 0。
关于c - C 语言的字典顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37373421/