在C语言中比较两个字符串是否相等的方法

 更新时间:2015年08月24日 11:44:12   投稿:goldensun  
这篇文章主要介绍了在C语言中比较两个字符串是否相等的方法,分别介绍了strcmp()函数和strcasecmp()函数,注意功能区分,需要的朋友可以参考下

C语言strcmp()函数:比较字符串(区分大小写)

头文件:#include <string.h>

strcmp() 用来比较字符串(区分大小写),其原型为:

  int strcmp(const char *s1, const char *s2);

【参数】s1, s2 为需要比较的两个字符串。

字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。

【返回值】若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。

注意:strcmp() 以二进制的方式进行比较,不会考虑多字节或宽字节字符;如果考虑到本地化的需求,请使用 strcoll() 函数。

【实例】对 4 组字符串进行比较。

#include <string.h>
main(){
  char *a = "aBcDeF";
  char *b = "AbCdEf";
  char *c = "aacdef";
  char *d = "aBcDeF";
  printf("strcmp(a, b) : %d\n", strcmp(a, b));
  printf("strcmp(a, c) : %d\n", strcmp(a, c));
  printf("strcmp(a, d) : %d\n", strcmp(a, d));
}

输出结果:

strcmp(a, b) : 32
strcmp(a, c) :-31
strcmp(a, d) : 0

C语言strcasecmp()函数:判断字符串是否相等(忽略大小写)
头文件:#include <string.h>

定义函数:

int strcasecmp (const char *s1, const char *s2);

函数说明:strcasecmp()用来比较参数s1 和s2 字符串,比较时会自动忽略大小写的差异。

返回值:若参数s1 和s2 字符串相同则返回0。s1 长度大于s2 长度则返回大于0 的值,s1 长度若小于s2 长度则返回小于0 的值。

范例

#include <string.h>
main(){
  char *a = "aBcDeF";
  char *b = "AbCdEf";
  if(!strcasecmp(a, b))
  printf("%s=%s\n", a, b);
}

执行结果:

aBcDeF=AbCdEf

相关文章

  • C语言实现反弹球小游戏

    C语言实现反弹球小游戏

    这篇文章主要为大家详细介绍了C语言实现反弹球小游戏,利用函数写的C语言小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • C语言手写集合List的示例代码

    C语言手写集合List的示例代码

    数组长度是固定的,那么在很多时候我们并不知道到底有多少数据需要存储,这时候我么就需要一个可变长度的数组来进行存储,在C语言中需要我们自己进行定义,我们称为集合。本文将用C语言实现手写集合,需要的可以参考一下
    2022-08-08
  • c调用python调试方法

    c调用python调试方法

    在本文里我们给大家分享了C中调用python调试的方法和相关知识点,需要的朋友们参考下。
    2019-02-02
  • C/C++宏替换实现详解

    C/C++宏替换实现详解

    这篇文章主要介绍了C/C++宏替换实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • C C++输入输出基础教程示例详解

    C C++输入输出基础教程示例详解

    当我们在网站做题的时候经常会遇到各种要求的输入输出,而且会有时间超限等多个问题,这时我们就要优化我们的输入输出或者规范我们的输入输出格式,下面介绍C和C++中的输入输出问题,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2023-11-11
  • C/C++中组合详解及其作用介绍

    C/C++中组合详解及其作用介绍

    这篇文章主要介绍了C/C++中组合的详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 如何在C语言的宏中使用类型关键字

    如何在C语言的宏中使用类型关键字

    如何在C语言的宏中使用类型关键字呢?以下是实现方法。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • C语言例题讲解指针与数组

    C语言例题讲解指针与数组

    在C语言和C++等语言中,数组元素全为指针变量的数组称为指针数组,指针数组中的元素都必须具有相同的存储类型、指向相同数据类型的指针变量。指针数组比较适合用来指向若干个字符串,使字符串处理更加方便、灵活
    2022-07-07
  • 解决Qt设置QTextEdit行高的问题

    解决Qt设置QTextEdit行高的问题

    这篇文章介绍了Qt设置QTextEdit行高的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • C++里最容易忽视却不能忽视的问题(必看)

    C++里最容易忽视却不能忽视的问题(必看)

    在C++里最容易忽视却不能忽视的问题都有哪些呢?下面小编就为大家介绍一下。一起跟随小编过来看看吧
    2016-05-05

最新评论