C语言字符串比较strcmp函数

C语言strcmp函数教程

C 语言 中我们需要比较两个 字符串 ,可以使用 strcmp 函数,使用 strcmp 函数比较字符串时,不是比较字符串的长度,而是挨个比较字符串中的 字符 大小。

也就是说,如果比较字符串 str1 和 str2,如果字符串 str1 的长度大于字符串 str2,但 str1 的字符却比 str2 的字符小,那么也是字符串 str2 大于字符串 str1。

strcmp函数详解

语法

int strcmp(const char *str1, const char *str2);

参数

参数 描述
str1 要进行比较的第一个字符串。
str2 要进行比较的第二个字符串。

返回值

如果返回值小于 0,则表示 str1 小于 str2。如果返回值大于 0,则表示 str2 大于 str1。如果返回值 = 0,则表示 str1 等于 str2。

技术细节

使用 strcmp 函数,需要引入 string.h 头文件。

案例

C语言字符串比较

使用 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; }

程序运行后,控制台输出如下:

12_C语言字符串比较strcmp函数.png

我们首先定义了一个字符数组 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; }

程序运行后,控制台输出如下:

13_C语言字符串比较strcmp函数.png

这次,我们修改了字符串 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; }

程序运行后,控制台输出如下:

14_C语言字符串比较strcmp函数.png

这次,我们修改了字符串之后,再次比较,此时比较两个字符串,返回了 -1,即 str1 小于 str2。

C语言字符串比较strcmp函数总结

在 C 语言中我们需要比较两个字符串 ,可以使用 strcmp 函数。如果返回值小于 0,则表示 str1 小于 str2。如果返回值大于 0,则表示 str2 大于 str1。如果返回值 = 0,则表示 str1 等于 str2。