在C语言中,strcmp
函数用于比较两个字符串,并根据比较结果返回整数。
如果字符串1(s1
)和字符串2(s2
)相等,函数返回0;
如果s1
小于s2
(按字符的ASCII码),函数返回负数;
如果s1
大于s2
,函数返回正数。
#include <stdio.h>
// 自定义的strcmp函数实现
int my_strcmp(const char *s1, const char *s2)
{
while (*s1 && (*s1 == *s2))
{
s1++;
s2++;
}
return *(const unsigned char*)s1 - *(const unsigned char*)s2;
}
int main()
{
char str1[] = "Hello";
char str2[] = "Hello";
char str3[] = "World";
printf("Comparing '%s' and '%s': %d\n", str1, str2, my_strcmp(str1, str2));
printf("Comparing '%s' and '%s': %d\n", str1, str3, my_strcmp(str1, str3));
return 0;
}
比较s1和s2出现的第一个不一样的字符、返回其ASCII码值的差值。