📅  最后修改于: 2023-12-03 14:39:40.198000             🧑  作者: Mango
在C语言中,我们可以使用字符串来存储和操作文本数据。在字符串中,我们可以使用多种函数来操作字符串。本文会讲解C语言中字符串问题10,即如何比较两个字符串。
比较两个字符串可以使用C语言中的strcmp函数,它可以比较两个字符串的大小,返回值为0表示两个字符串相等,如果返回值小于0,则第一个字符串小于第二个字符串,反之返回值大于0,则第一个字符串大于第二个字符串。以下是strcmp函数的语法:
int strcmp(const char *str1, const char *str2);
其中str1和str2是需要比较的两个字符串。
下面是一个使用strcmp函数比较两个字符串的例子:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20] = "Hello";
char str2[20] = "World";
int result = strcmp(str1, str2);
if(result == 0) {
printf("两个字符串相等");
}
else if(result < 0) {
printf("第一个字符串小于第二个字符串");
}
else {
printf("第一个字符串大于第二个字符串");
}
return 0;
}
上面的程序会输出“第一个字符串大于第二个字符串”,因为'H'的ASCII码大于'W'的ASCII码。
除了strcmp函数外,还有一个类似的函数叫做strncmp函数。不同的是,strncmp函数可以比较字符串中的指定部分。以下是strncmp函数的语法:
int strncmp(const char *str1, const char *str2, size_t n);
其中str1和str2是需要比较的两个字符串,n是比较字符串的长度。
下面是一个使用strncmp函数比较两个字符串的例子:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20] = "Hello World";
char str2[20] = "Hello";
int result = strncmp(str1, str2, 5);
if(result == 0) {
printf("两个字符串的前5个字符相等");
}
else if(result < 0) {
printf("第一个字符串的前5个字符小于第二个字符串的前5个字符");
}
else {
printf("第一个字符串的前5个字符大于第二个字符串的前5个字符");
}
return 0;
}
上面的程序会输出“两个字符串的前5个字符相等”,因为“Hello”是两个字符串的前5个字符。