用c语言数据结构的方法编写一个函数,实现在顺序存储方式下字符串的strcompare(S1,S2)运算。
时间: 2024-12-19 22:28:28 浏览: 61
在 C 语言中,我们可以使用字符数组(字符串实际上就是以'\0'结尾的字符数组)和循环来实现 `strcompare` 函数,用于比较两个字符串 S1 和 S2 的字典序。这里我们假设输入的字符串都是有效的,即它们都以 '\0' 结尾。
```c
#include <stdio.h>
#include <string.h> // 引入 strcmp 函数,虽然这里不需要,但我们通常会包含这个头文件
// 自定义 strcompare 函数
int strcompare(const char* S1, const char* S2) {
int i = 0; // 初始化循环变量
// 循环直到找到空字符或者字符串结束
while (S1[i] != '\0' && S2[i] != '\0') { // 比较当前字符
if (S1[i] > S2[i]) { // 如果第一个字符串的字符大,返回负数
return -1;
} else if (S1[i] < S2[i]) { // 如果第一个字符串的字符小,返回正数
return 1;
}
i++; // 移动到下一个字符
}
// 如果两个字符串长度相等,或者已经比较到最后一个字符并相等,说明它们相等
if (S1[i] == '\0' && S2[i] == '\0')
return 0;
// 如果其中一个字符串比另一个长,根据初始设定的规则,较长的那个会被认为较大
return S1[i] == '\0' ? 1 : -1;
}
阅读全文
相关推荐

















