700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言函数strcmp()(比较两个字符串)

C语言函数strcmp()(比较两个字符串)

时间:2023-01-01 10:18:51

相关推荐

C语言函数strcmp()(比较两个字符串)

C 库函数 - strcmp()

文章目录

描述声明参数返回值实例注意

描述

C 库函数 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较。

声明

下面是 strcmp() 函数的声明。

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

参数

str1 – 要进行比较的第一个字符串。str2 – 要进行比较的第二个字符串。

返回值

该函数返回值如下:

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

实例

下面的实例演示了 strcmp() 函数的用法。

#include <stdio.h>#include <stdlib.h>int main(){char str1[15];char str2[15];int ret;strcpy(str1, "abcdef");strcpy(str2, "ABCDEF");ret = strcmp(str1, str2);if (ret < 0){printf("str1 小于 str2");}else if (ret > 0){printf("str1 大于 str2"); //str1 大于 str2}else{printf("str1 等于 str2");}return(0);}

注意

两个字符串自左向右逐个字符相比(按 ASCII 值大小相比较),直到出现不同的字符或遇 \0 为止。如:

“A”<“B”“A”<“AB”“Apple”<“Banana”“A”<“a”“compare”<“computer”

特别注意:strcmp(const char *s1,const char * s2) 这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。

ANSI 标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。

当两个字符串不相等时,C 标准没有规定返回值会是 1 或 -1,只规定了正数和负数。

有些会把两个字符的 ASCII 码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。

参考文章:C 库函数 - strcmp()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。