用c语言编写算法,实现串的基本操作StrCompare(S,T) 。若S>T,则返回值>0;若S=T,则返回值=0;若 S<T,则返回值<0。
时间: 2024-10-15 07:22:11 浏览: 37
在C语言中,我们可以使用循环和条件语句来实现字符串比较的函数`StrCompare`。这里是一个简单的示例,它通过逐字符比较两个字符串来判断它们的关系:
```c
#include <stdio.h>
#include <string.h>
// 定义字符串比较函数
int StrCompare(char *S, char *T) {
int i = 0;
// 检查字符串长度,如果S比T短,说明S<T
while (S[i] && T[i]) {
if (S[i] != T[i]) {
return S[i] - T[i]; // 如果当前字符不同,返回差值
}
i++; // 同步移动指针到下一个字符
}
// 如果两个字符串完全相同,或者到达了某个字符串的结尾还没结束另一个,那么它们相等
if (!S[i] && !T[i]) {
return 0;
} else if (!S[i]) { // 如果S比T短,S<T
return -1;
} else { // 如果T比S短,T>S
return 1;
}
}
int main() {
char str1[] = "abc";
char str2[] = "def";
printf("%d\n", StrCompare(str1, str2)); // 输出:-1
char str3[] = "ghi";
printf("%d\n", StrCompare(str1, str3)); // 输出:1
char str4[] = "abc";
printf("%d\n", StrCompare(str4, str4)); // 输出:0
return 0;
}
```
阅读全文