编写程序,试比较 4 个字符串的大小,不要用 strcmp 函数(自编具有 strcmp 功能的子函数)
时间: 2024-11-29 18:32:26 浏览: 41
在编写程序时,如果你需要比较四个字符串而不使用 C 语言的标准库函数 `strcmp()`,你可以自定义一个简单的字符逐个比较的函数,比如下面的伪代码示例:
```c
// 自定义 strcmp-like 函数
int compare_strings(char *str1, char *str2) {
int i = 0;
while (str1[i] != '\0' && str2[i] != '\0') { // 比较两个字符串直到找到结束符
if (str1[i] < str2[i]) {
return -1; // 如果第一个字符小,则 str1 小于 str2
} else if (str1[i] > str2[i]) {
return 1; // 如果第一个字符大,则 str1 大于 str2
}
i++;
}
// 如果其中一个字符串先到达结束,长度较短的那个就是小的
if (str1[i] == '\0') {
return 1;
} else if (str2[i] == '\0') {
return -1;
}
// 如果两个字符串完全一样
return 0;
}
// 使用自定义函数比较 4 个字符串
int main() {
char str1[] = "apple";
char str2[] = "banana";
char str3[] = "orange";
char str4[] = "pear";
int result1 = compare_strings(str1, str2);
int result2 = compare_strings(str2, str3);
int result3 = compare_strings(str3, str4);
int result4 = compare_strings(str4, str1);
printf("Compare:\n");
if (result1 < 0) {
printf("%s < %s\n", str1, str2);
} else if (result1 > 0) {
printf("%s > %s\n", str1, str2);
} else {
printf("%s == %s\n", str1, str2);
}
// 类似地对比其他组合
return 0;
}
```
这个例子展示了如何通过遍历字符串并逐字比较来完成字符串大小的比较。请注意这只是一个基本的实现,实际应用中可能需要考虑更多边界条件和错误处理。
阅读全文