关闭

c语言比较两个字符串是否相等strcmp

标签: c语言函数标准
38226人阅读 评论(0) 收藏 举报
分类:

c语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子:

个人网站:www.ctrlqun.com

#include <stdio.h>
#include <string.h>
int main(void)
{
    char str_1[] = "abc"; 
    char str_2[] = "abc";
    char str_3[] = "ABC";
    if (strcmp(str_1, str_2) == 0)
        printf("str_1 is equal to str_2. \n");
    else
        printf("str_1 is not equal to str_2. \n");
    if (strcmp(str_1, str_3) == 0)
        printf("str_1 is equal to str_3.\n");
    else
        printf("str_1 is not equal to str_3.\n");
    return 0;
}

上例的打印输出如下所示:   

strcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一:
----------------------------------------------------
    返  回  值         意  义
----------------------------------------------------
    <0               第一个字符串小于第二个字符串
     0               两个字符串相等    ·
    >0               第一个字符串大于第二个字符串
----------------------------------------------------

在上例中,当比较str_1(即“abc”)和str_2(即“abc”)时,strcmp()函数的返回值为0。然而,当比较str_1(即"abc")和str_3(即"ABC")时,strcmp()函数返回一个大于0的值,因为按ASCII顺序字符串“ABC”小于“abc”。

strcmp()函数有许多变体,它们的基本功能是相同的,都是比较两个字符串,但其它地方稍有差别。下表列出了C语言提供的与strcmp()函数类似的一些函数:   
-----------------------------------------------------------------
    函  数  名                   作  用
-----------------------------------------------------------------
    strcmp()         对两个字符串进行大小写敏感的比较
    strcmpi()        对两个字符串进行大小写不敏感的比较
    stricmp()        同strcmpi()
    strncmp()        对两个字符串的一部分进行大小写敏感的比较
    strnicmp()       对两个字符串的一部分进行大小写不敏感的比较
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函数代替strcmp()函数,则程序将认为字符串“ABC”等于“abc”。

个人网站:www.ctrlqun.com



3
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

字符串比较和相等判断

判断字符串是否相等 首先不能用== 来判断,因为==判断的存储在这个字符串的对象的值,这样很容易出错,那么我们用isEqualToString来进行判断 int main(int argc, cons...
  • yi_zz32
  • yi_zz32
  • 2015-09-27 21:24
  • 14026

两个字符串比较求最优算法

背景如下: 1.Char1是一个由各种字母组成的字符串 2.Char2是另外一个相对较短的字符串 问题: 什么方法能最快的查出是否所有小字符串里的字母在大字符串里都有? 例如: Char1:ASQ...
  • sunlei1980
  • sunlei1980
  • 2016-05-29 00:38
  • 1440

字符串比较 : "11"和"4" 谁大呢?

字符串比较 : "11"和"4" 谁大呢? 结果竟是"4"大 为什么呢? 原因: 字符串比较只比较首字符  首字符相等比较第二个字符  &...
  • shipeng22022
  • shipeng22022
  • 2015-12-17 09:39
  • 837

字符串比较

  • 2013-08-15 09:39
  • 2KB
  • 下载

java字符串比较大小

public int compareTo(String anotherString)按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。将此 String 对象表示的字符序列与...
  • c5153000
  • c5153000
  • 2011-02-28 15:55
  • 35567

C语言 编写程序实现字符串比较,不允许使用strcmp函数。

编写程序实现字符串比较,不允许使用strcmp函数。 注意:字符串比较的规则是:将两个字符串自左至右逐个字符进行比较(按ASCII值大小进行比较),直到出现不同的字符或遇到"\0"为止,若出现不同的...
  • Yangjiankang_0929
  • Yangjiankang_0929
  • 2015-04-04 20:06
  • 4173

用c语言进行字符串比较

  • 2012-04-19 23:42
  • 1KB
  • 下载

【C语言】my_strcmp字符串比较

1.思想:比较两个字符串涉及对两个字符串对应的字符逐个进行比较,直到发现不匹配为止,返回比较结果。     strcmp函数实际上是对字符的ASCII码进行比较,strcmp函数最多比较到其中一个字符...
  • i_fcy
  • i_fcy
  • 2015-05-21 21:23
  • 1204

C语言字符串比较程序

  • 2011-05-19 19:33
  • 174KB
  • 下载

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

问题描述: 写一个函数,用于比较两个字符串的比较(string_compare). 程序分析: (1)主要思想:传入两个字符串后,比较这两个字符串中的每个元素,如果第一次比较就不相等,就不要让它进入到...
  • live_wyq
  • live_wyq
  • 2015-05-07 22:45
  • 706
    个人资料
    • 访问:125942次
    • 积分:859
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:14篇
    • 译文:0篇
    • 评论:13条
    个人网站