C语言指针自己编写一个函数实现字符串比较
时间: 2024-12-25 19:28:54 浏览: 1
在C语言中,你可以通过指针来实现字符串比较功能。下面是一个简单的自定义函数,它接受两个指向字符数组的指针作为输入,并返回一个整数表示它们是否相等:
```c
#include <stdio.h>
#include <string.h> // 使用库函数strcmp()是为了对比
// 自定义字符串比较函数
int stringCompare(char* str1, char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
if (len1 != len2) {
return len1 > len2 ? 1 : -1; // 如果长度不同,直接返回长度差
}
for (int i = 0; i < len1; i++) {
if (str1[i] != str2[i]) { // 比较每个字符直到找到不一致
return str1[i] > str2[i] ? 1 : -1;
}
}
return 0; // 全部字符都相同,返回0
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
char str3[] = "Hello";
printf("str1 and str2: %d\n", stringCompare(str1, str2));
printf("str1 and str3: %d\n", stringCompare(str1, str3));
return 0;
}
```
在这个例子中,`stringCompare`函数逐个比较两个字符串的字符,如果遇到不匹配,则返回一个整数值表示哪个性质的字符串更大。如果所有字符都匹配,最后返回0表示两者相等。
阅读全文