gpt4 book ai didi

c - "strcmp"- C编程中使用的比较算法是什么?

转载 作者:行者123 更新时间:2023-12-02 05:43:45 30 4
gpt4 key购买 nike

谁能解释一下 strcmp 在 C 编程中使用什么算法来比较两个字符串?

我不明白它的返回值,它使用任何算法,如“Levenstien 算法”来找出两个字符串之间的距离...

最佳答案

标准 C 库 glibc 的 GNU 实现是开源的,您可以阅读 strcmp.c如果你很好奇。没有什么可说的。在这里:

/* Compare S1 and S2, returning less than, equal to or
greater than zero if S1 is lexicographically less than,
equal to or greater than S2. */
int strcmp (const char *p1, const char *p2)
{
register const unsigned char *s1 = (const unsigned char *) p1;
register const unsigned char *s2 = (const unsigned char *) p2;
unsigned reg_char c1, c2;

do
{
c1 = (unsigned char) *s1++;
c2 = (unsigned char) *s2++;
if (c1 == '\0')
return c1 - c2;
}
while (c1 == c2);

return c1 - c2;
}

关于c - "strcmp"- C编程中使用的比较算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10927060/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com