写出库函数strcmp的简单实现。
时间: 2023-08-23 22:06:56 浏览: 152
库函数 `strcmp` 是用于比较两个字符串的函数,其返回值为整型,表示两个字符串的大小关系。如果两个字符串相等,则返回 0;如果第一个字符串小于第二个字符串,则返回一个负整数;如果第一个字符串大于第二个字符串,则返回一个正整数。
下面是一个简单实现 `strcmp` 函数的代码:
```c
int my_strcmp(const char *s1, const char *s2)
{
while (*s1 && (*s1 == *s2))
{
s1++;
s2++;
}
return *(const unsigned char*)s1 - *(const unsigned char*)s2;
}
```
该函数接受两个参数,分别为待比较的两个字符串的首地址。该函数通过 while 循环遍历两个字符串,如果两个字符串相等,则继续比较下一个字符;如果两个字符串不相等,则返回它们首个不相等字符的 ASCII 码差值。
需要注意的是,由于该函数比较字符时采用了强制类型转换,因此需要将字符指针声明为 const 类型,以确保不会修改字符的值。此外,该函数并没有处理空指针的情况,使用时需要注意传入的指针是否为 NULL。
阅读全文