输入两个字符串,比较字符串大小,并输出较大字符串,提示用strcmp函数
时间: 2024-09-30 10:09:41 浏览: 22
在C语言中,你可以使用`strcmp()`函数来比较两个字符串的大小。这个函数会逐字符地比较两个字符串,如果第一个字符串在某个位置的字符大于第二个字符串相应位置的字符,则返回一个正数;如果第一个字符串小于第二个,则返回负数;如果两者相等,则返回0。例如:
```c
#include <string.h>
int main() {
char str1[] = "apple";
char str2[] = "banana";
int result = strcmp(str1, str2);
if (result > 0) {
printf("'%s' is larger than '%s'.\n", str1, str2);
} else if (result < 0) {
printf("'%s' is smaller than '%s'.\n", str1, str2);
} else {
printf("Both strings are equal.\n");
}
return 0;
}
```
在这个例子中,由于"banana"字母顺序在"apple"之后,所以输出结果将是:"banana is larger than apple."
相关问题
输入两个字符串,比较字符串大小,并输出较大字符串。(提示用strcmp函数)
在C语言中,可以使用`strcmp()`函数来比较两个字符串的字典顺序。`strcmp()`函数会返回一个整数值,如果第一个字符串小于第二个,返回负数;如果相等,返回0;如果第一个大于第二个,返回正数。以下是使用`strcmp()`函数来比较并输出较长字符串的示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[50], str2[50];
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin); // 防止换行符
str1[strcspn(str1, "\n")] = '\0'; // 去除fgets添加的换行符
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strcspn(str2, "\n")] = '\0';
int result = strcmp(str1, str2);
if (result == 0) {
printf("两个字符串相等。\n");
} else if (result > 0) {
printf("'%s' 是较大的字符串。\n", str1);
} else {
printf("'%s' 是较大的字符串。\n", str2);
}
return 0;
}
```
用指针,输入两个字符串,比较字符串大小,并输出较大字符串。用strcmp函数。
当你想要使用指针来比较两个字符串并找出较大的那个时,可以利用C语言标准库中的`strcmp`函数。这个函数接受两个指向字符数组的指针作为参数,如果第一个字符串大于第二个,则返回一个正数;如果相等则返回0;如果第一个小于第二个,则返回负数。
以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h> // 包含strcmp函数
int main() {
char* str1 = "Hello";
char* str2 = "World";
if(strcmp(str1, str2) > 0) {
printf("'%s' is larger than '%s'\n", str1, str2);
} else if(strcmp(str1, str2) == 0) {
printf("Both strings are equal.\n");
} else {
printf("'%s' is larger than '%s'\n", str2, str1);
}
return 0;
}
```
在这个例子中,我们首先声明了两个指向字符数组的指针str1和str2,然后使用`strcmp`函数比较它们。根据返回值的大小关系,我们可以判断哪个字符串较长。
阅读全文