试编写一个函数,实现在顺序存储方式下字符串的strcompare
时间: 2024-11-18 15:27:18 浏览: 35
在顺序存储方式下,我们通常会使用字符数组或字符指针来表示字符串。这里是一个简单的示例,我们将编写一个名为`strCompare`的函数,它接受两个字符串作为输入,并通过逐个比较字符来确定它们是否相等:
```c
#include <stdio.h>
#include <string.h> // 引入字符串库,用于获取字符串长度
int strCompare(const char* str1, const char* str2) {
int len1 = strlen(str1); // 获取第一个字符串的长度
int len2 = strlen(str2); // 获取第二个字符串的长度
// 如果两个字符串长度不相等,可以直接返回差值判断它们是否相等
if (len1 != len2) {
return len1 - len2;
}
// 否则,逐个字符比较
for (int i = 0; i < len1; i++) {
if (str1[i] != str2[i]) { // 如果找到不匹配的字符,返回它们的ASCII码差值
return str1[i] - str2[i];
}
}
// 如果所有字符都匹配,说明字符串相等,返回0
return 0;
}
int main() {
const char* str1 = "hello";
const char* str2 = "world";
int result = strCompare(str1, str2);
if (result == 0) {
printf("The strings are equal.\n");
} else {
printf("The strings are not equal, with a difference at position %d: '%c' vs '%c'\n", result, str1[result], str2[result]);
}
return 0;
}
```
阅读全文