假设有两个定长顺序串str1和str2,请给出串的比较函数能实现的C语言
时间: 2023-06-19 22:04:31 浏览: 42
下面是一个简单的比较函数,可以比较两个定长顺序串str1和str2:
```c
#include <stdio.h>
#include <string.h>
int compare(char str1[], char str2[], int len) {
int i;
for (i = 0; i < len; i++) {
if (str1[i] < str2[i]) {
return -1;
} else if (str1[i] > str2[i]) {
return 1;
}
}
return 0;
}
int main() {
char str1[] = "abc";
char str2[] = "cba";
int len = strlen(str1);
int result = compare(str1, str2, len);
if (result < 0) {
printf("%s is less than %s\n", str1, str2);
} else if (result > 0) {
printf("%s is greater than %s\n", str1, str2);
} else {
printf("%s is equal to %s\n", str1, str2);
}
return 0;
}
```
其中,compare函数接受三个参数:两个定长顺序串str1和str2,以及它们的长度len。函数通过逐个比较两个串中相同位置的字符来判断它们的大小关系,如果str1小于str2,则返回-1;如果str1大于str2,则返回1;如果它们相等,则返回0。在主函数中,根据compare函数的返回值打印出相应的比较结果。