在 C 语言 中我们需要比较两个 字符串 ,可以使用 strcmp 函数,使用 strcmp 函数比较字符串时,不是比较字符串的长度,而是挨个比较字符串中的 字符 大小。
也就是说,如果比较字符串 str1 和 str2,如果字符串 str1 的长度大于字符串 str2,但 str1 的字符却比 str2 的字符小,那么也是字符串 str2 大于字符串 str1。
int strcmp(const char *str1, const char *str2);
参数 | 描述 |
---|---|
str1 | 要进行比较的第一个字符串。 |
str2 | 要进行比较的第二个字符串。 |
如果返回值小于 0,则表示 str1 小于 str2。如果返回值大于 0,则表示 str2 大于 str1。如果返回值 = 0,则表示 str1 等于 str2。
使用 strcmp 函数,需要引入 string.h 头文件。
使用 strcmp() 函数,实现字符串的比较
#include <stdio.h>
#include <string.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char str1[10] = "HaiCoder";
char str2[10] = "HaiCoder";
int retCmp = strcmp(str1, str2);
printf("retCmp = %d\n", retCmp);
return 0;
}
程序运行后,控制台输出如下:
我们首先定义了一个字符数组 str1,并赋值,接着,我们再次定义了一个 字符数组 str2 并赋值。接着,我们使用了 strcmp 函数比较了两个字符数组,因为两个字符数组相等,所以返回了 0。现在,我们修改字符串,使他们不相等,修改如下:
#include <stdio.h>
#include <string.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char str1[10] = "haiCoder";
char str2[10] = "HaiCoder";
int retCmp = strcmp(str1, str2);
printf("retCmp = %d\n", retCmp);
return 0;
}
程序运行后,控制台输出如下:
这次,我们修改了字符串 str1,使其与 str2 不相等,我们再次比较了字符串 str1 和字符串 str2,返回了 1,即字符串 str1 比字符串 str2 大。现在,我们再次修改字符串,修改如下:
#include <stdio.h>
#include <string.h>
int main()
{
printf("嗨客网(www.haicoder.net)\n\n");
char str1[10] = "HaiCoder";
char str2[10] = "haiCoder";
int retCmp = strcmp(str1, str2);
printf("retCmp = %d\n", retCmp);
return 0;
}
程序运行后,控制台输出如下:
这次,我们修改了字符串之后,再次比较,此时比较两个字符串,返回了 -1,即 str1 小于 str2。
在 C 语言中我们需要比较两个字符串 ,可以使用 strcmp 函数。如果返回值小于 0,则表示 str1 小于 str2。如果返回值大于 0,则表示 str2 大于 str1。如果返回值 = 0,则表示 str1 等于 str2。