C语言如何比较两个【字符】或者【字符串】是否相等?迷糊了,求解答

如题所述

比较字符可以直接使用==比较操作符,如:
char c1='a',c2='b';
if(c1==c2) printf("%c is same as %c.",c1,c2);
else printf("%c is different to %c",c1,c2);

若是字符串,则需要使用字符串函数了,strcmp
char s1[]="abc",s2[]="xyz";
if(strcmp(s1,s2)==0) printf("%s is same as %s.",s1,s2);
也可以忽略大小写来比较,使用函数stricmp 中间的i意思是ignore case sensitive
还可以指定长度比较,strncmp,如:
char s1[]="abc",s2[]="abcdefg";
if(strncmp(s1,s2,3)==0) printf("first 3 characters are same");
若不是从开头位置开始比较,如:
char s1[]="abc",s2[]="xyzabc"
if(strncmp(s1,&s2[3],3)==0) 就是比较s1和s2的第3个字符开始的内容
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-09-16

比较字符可以直接使用==比较操作符,如:
char c1='a',c2='b';
if(c1==c2) printf("%c is same as %c.",c1,c2);
else printf("%c is different to %c",c1,c2);

若是字符串,则需要使用字符串函数了,strcmp
char s1[]="abc",s2[]="xyz";
if(strcmp(s1,s2)==0) printf("%s is same as %s.",s1,s2);

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

本回答被网友采纳
第2个回答  2013-02-14
字符直接用c1==c2就可以比较了,字符串用strcmp(c1,c2)来比较,等于0就是相等。
第3个回答  2021-04-05
字符串是Java中的一个特殊类。我们在java程序中经常使用字符串,所以比较两个字符串是Java中的一种常见做法。在本文中,我尝试回答关于字符串的最常见问题,比如:“如何在Java中比较字符串?”

在验证、排序、引用匹配等过程中,比较字符串非常有用。

我列出了在Java中比较字符串的三种不同方法。

使用equals()方法(比较内容)

使用==操作符(比较对象引用)

使用compareTo()方法(按字母顺序比较字符串)

1.使用Equals() 方法比较字符串
这样,我正在使用 .equals() String类的实例方法。.equals() 方法原本 是 Object 类方法,而String类会覆盖它。

equals() 方法比较两个字符串的值相等性,无论它们在逻辑上是否相等。

equals() String类中的方法将另一个字符串作为参数,并将其与指定的字符串进行比较。true 当且仅当参数字符串不为null且包含与指定字符串相同的字符时,它返回 。
第4个回答  2021-04-06
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() 对两个字符串的一部分进行大小写不敏感的比较

-----------------------------------------------------------------

C/C++的学习群496926338无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!群内有很多干货和技术分享!

在前面的例子中,如果用strcmpi()函数代替strcmp()函数,则程序将认为字符串“ABC”等于“abc