试编写一个函数,实现在顺序存储方式下字符串的strcompare(S1,S2)运算。C语言
时间: 2024-12-15 09:24:08 浏览: 55
在C语言中,你可以编写一个名为`strcompare`的函数来比较两个字符串。这里我们采用逐字符比较的方式,如果找到第一个不相等的字符就返回对应的ASCII码差值,如果全等则返回0表示相等。以下是函数的简单实现:
```c
#include <stdio.h>
#include <string.h>
int strcompare(const char* S1, const char* S2) {
int len1 = strlen(S1);
int len2 = strlen(S2);
// 如果长度不同直接返回
if (len1 != len2)
return len1 - len2;
// 逐字符比较
for(int i = 0; i < len1 && S1[i] == S2[i]; i++) {}
// 返回第一个不相等字符的ASCII码差值
if (i == len1) // 全部相等
return 0;
else
return S1[i] - S2[i];
}
int main() {
char s1[] = "Hello";
char s2[] = "World";
int result = strcompare(s1, s2);
if(result < 0)
printf("s1 is lexicographically less than s2\n");
else if(result > 0)
printf("s1 is lexicographically greater than s2\n");
else
printf("s1 and s2 are equal\n");
return 0;
}
```
阅读全文
相关推荐


















