3. 编写一个函数,比较两个字符串的大小 c语言
时间: 2024-12-08 20:23:57 浏览: 44
在C语言中,比较两个字符串的大小通常涉及到对字符数组逐个字符的比较,直到找到第一个不同的字符或者到达字符串结束符'\0'。这里有一个简单的函数示例,它会返回一个整数,表示哪个字符串更大:
```c
#include <stdio.h>
#include <string.h>
// 定义一个函数,用于比较两个字符串的字典序
int compare_strings(const char* str1, const char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
// 比较字符串长度,如果长度不同,则长度较长的字符串较大
if (len1 > len2) {
return 1;
} else if (len1 < len2) {
return -1;
}
// 如果长度相同,则逐个字符比较
for (int i = 0; i < len1; i++) {
if (*str1 > *str2) {
return 1; // str1大于str2
} else if (*str1 < *str2) {
return -1; // str1小于str2
}
str1++; // 移动到下一个字符
str2++;
}
// 长度和内容都相等,视为相等
return 0;
}
int main() {
const char* str1 = "apple";
const char* str2 = "banana";
int result = compare_strings(str1, str2);
switch (result) {
case 1:
printf("%s is greater than %s\n", str1, str2);
break;
case -1:
printf("%s is less than %s\n", str1, str2);
break;
case 0:
printf("%s and %s are equal\n", str1, str2);
break;
}
return 0;
}
阅读全文