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

原创 2017年03月27日 13:38:46

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



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

字符串比较和相等判断

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

c cpp字符串比较

http://www.cnblogs.com/MuyouSome/archive/2013/06/08/3127828.html 在C中,并没有字符串这个数据类型,而是使用字符数组来...

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

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

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C语言字符串输入函数的比较与解析

在做ACM题时经常会被一些字符串输入搞得
  • JZQT_T
  • JZQT_T
  • 2014年07月31日 15:32
  • 2105

(c语言)比较三个字符串的大小

问题描述: 比较三个字符串的大小,并且按从小到大的顺序输出。 程序分析: 1.在写这个程序的时候,主要是写了一个swap函数,调用了标准库函数中的strcmp来实现的。 2.在写swap这个函数的时...

C++字符串函数与C字符串函数比较

赋值拷贝: #include #include using namespace std; void main(){ string a="hello world!"; string b; /...

C语言基础 判断两个字符串是否相同 strcmp

镇场诗:慈心积善融学习,技术誓为大家学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。 ///////////////////////////////////////////////...

C语言strcasecmp()函数:判断字符串是否相等(忽略大小写)

头文件:#include 定义函数:int strcasecmp (const char *s1, const char *s2); 函数说明:strcasecmp()用来比较参数s1 ...
  • pugu12
  • pugu12
  • 2015年07月13日 16:51
  • 1451

C语言中比较两个字符串的大小

int h_strcmp(char *s1, char *s2) { int result, i; for (i = 0; *(s1+i) != '\0' && *(s2+i) != ...
  • qustdjx
  • qustdjx
  • 2012年09月27日 08:31
  • 5484
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言比较两个字符串是否相等strcmp
举报原因:
原因补充:

(最多只允许输入30个字)