C语言指针方法重写strcmp函数
时间: 2024-10-18 15:01:21 浏览: 38
在C语言中,`strcmp`函数是一个标准库函数,用于比较两个字符串是否相等。如果你想要通过指针重写这个函数,可以创建一个自定义的函数,接受两个指向字符数组的指针作为参数,并利用循环逐个字符比较它们的ASCII值。这里是一个简单的示例:
```c
#include <stdbool.h> // 包含bool类型,便于返回比较结果
// 使用指针重写的strcmp函数
int custom_strcmp(const char* str1, const char* str2) {
while (*str1 != '\0' && *str2 != '\0') { // 遍历直到遇到空字符
if (*str1 > *str2) { // 如果第一个字符大于第二个,返回正数
return 1;
} else if (*str1 < *str2) { // 如果第一个字符小于第二个,返回负数
return -1;
}
str1++; // 移动到下一个字符
str2++;
}
// 如果两个字符串长度相同并且内容也相同,则认为相等
if (*str1 == '\0' && *str2 == '\0')
return 0;
// 如果其中一个字符串结束而另一个未结束,未结束的那个更长
return *str1 == '\0' ? 1 : -1; // 返回非零值表示不相等
}
阅读全文