C语言在主函数中调用gets 函数输入2个字符串,调用函数myStrcmp比较,输出该函数的返回值实现字符串比较的功能
时间: 2023-11-28 22:48:45 浏览: 74
可以使用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
int myStrcmp(char *str1, char *str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int len = len1 < len2 ? len1 : len2; // 取两个字符串长度中较小的一个
for (int i = 0; i < len; i++) {
if (str1[i] < str2[i]) {
return -1;
} else if (str1[i] > str2[i]) {
return 1;
}
}
if (len1 < len2) {
return -1;
} else if (len1 > len2) {
return 1;
} else {
return 0;
}
}
int main() {
char str1[100], str2[100];
printf("请输入两个字符串:\n");
gets(str1);
gets(str2);
int result = myStrcmp(str1, str2);
if (result < 0) {
printf("%s 小于 %s\n", str1, str2);
} else if (result > 0) {
printf("%s 大于 %s\n", str1, str2);
} else {
printf("%s 等于 %s\n", str1, str2);
}
return 0;
}
```
在这个程序中,我们首先定义了一个 `myStrcmp` 函数,用于比较两个字符串。该函数的实现方式与标准库函数 `strcmp` 类似,通过逐个比较字符的 ASCII 码值来判断两个字符串的大小关系。如果字符串相等,则返回 0;如果字符串不等,则返回 -1 或 1,表示哪个字符串更小或更大。
在 `main` 函数中,我们首先定义了两个字符数组 `str1` 和 `str2`,用于存储用户输入的两个字符串。然后使用 `gets` 函数分别输入这两个字符串。注意,`gets` 函数已经被标记为不安全,建议使用更安全的函数 `fgets`。
接下来,我们调用 `myStrcmp` 函数比较这两个字符串,并根据比较结果输出相应的提示信息。最后返回 0 表示程序正常结束。
阅读全文