重新设计字符串函数stringCompare(char a[],char b[]),字符串相同时返回0,字符串a大于b时返回1,字符串a小于b时返回-1
时间: 2024-02-13 21:07:22 浏览: 63
设计字符串比较的函数
好的,以下是一个重新设计的C语言字符串比较函数`stringCompare(char a[],char b[])`的实现:
```c
#include <stdio.h>
// 定义一个函数,用于比较两个字符串的大小
int stringCompare(char a[], char b[]) {
int i = 0;
while (a[i] != '\0' && b[i] != '\0') {
if (a[i] > b[i]) {
return 1;
} else if (a[i] < b[i]) {
return -1;
}
i++;
}
if (a[i] == '\0' && b[i] == '\0') {
return 0;
} else if (a[i] == '\0') {
return -1;
} else {
return 1;
}
}
int main() {
char a[100], b[100];
printf("请输入第一个字符串:");
scanf("%s", a);
printf("请输入第二个字符串:");
scanf("%s", b);
int result = stringCompare(a, b);
printf("比较结果为:%d\n", result);
return 0;
}
```
这个函数接收两个字符串作为参数,并按照字典序比较它们的大小。如果字符串a大于b,返回1;如果字符串a小于b,返回-1;如果两个字符串相同,返回0。函数使用了while循环遍历两个字符串,并逐个比较它们的字符。如果两个字符串在某一位置的字符相同,则继续比较下一个位置的字符;如果两个字符串在某一位置的字符不同,则直接返回比较结果。最后,如果其中一个字符串已经比较完毕,而另一个字符串还有剩余字符,则将剩余字符的ASCLL值作为比较结果返回。
阅读全文