自己写strcmp编写
时间: 2024-10-07 12:00:48 浏览: 18
自定义strcmp函数是一种常见的编程练习,用于比较两个字符串是否相等。在C语言中,标准库函数strcmp()就实现了这样的功能。如果你想手动实现strcmp,可以参考以下步骤:
```c
#include <stdio.h>
#include <string.h> // 如果没包含这个头文件,需要手动声明strcmp的原型
int my_strcmp(const char *str1, const char *str2) {
int i = 0;
while (str1[i] != '\0' && str2[i] != '\0') { // 当两个指针都未到达字符串结束符时
if (str1[i] != str2[i]) { // 如果字符不相等
return str1[i] - str2[i]; // 返回两个字符的ASCII码差值(非零表示不相等)
}
i++;
}
// 如果其中一个字符串达到结束符而另一个还没,那么剩下的部分就是不同
if (str1[i] == '\0' && str2[i] != '\0') {
return -1; // str1比str2短
} else if (str1[i] != '\0' && str2[i] == '\0') {
return 1; // str1比str2长
} else {
return 0; // 如果两个字符串完全一样
}
}
// 测试例子
int main() {
const char* str1 = "Hello";
const char* str2 = "World";
int result = my_strcmp(str1, str2);
if (result == 0) {
printf("The strings are equal.\n");
} else if (result < 0) {
printf("str1 is less than str2.\n");
} else {
printf("str1 is greater than str2.\n");
}
return 0;
}
```
阅读全文