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

 我来答
百度网友1fc36d4
推荐于2017-12-16 · TA获得超过3131个赞
知道大有可为答主
回答量:1497
采纳率:100%
帮助的人:1826万
展开全部
比较字符可以直接使用==比较操作符,如:
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个字符开始的内容
张钰涛5be9f
高粉答主

推荐于2019-09-16 · 每个回答都超有意思的
知道大有可为答主
回答量:429
采纳率:100%
帮助的人:27.9万
展开全部

比较字符可以直接使用==比较操作符,如:
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)以及超级电脑等作业平台。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a476485314
2013-02-14 · TA获得超过618个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:49.9万
展开全部
字符直接用c1==c2就可以比较了,字符串用strcmp(c1,c2)来比较,等于0就是相等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
撒昊然xX
2021-04-05 · TA获得超过6342个赞
知道大有可为答主
回答量:5456
采纳率:73%
帮助的人:183万
展开全部
字符串是Java中的一个特殊类。我们在java程序中经常使用字符串,所以比较两个字符串是Java中的一种常见做法。在本文中,我尝试回答关于字符串的最常见问题,比如:“如何在Java中比较字符串?”

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

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

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

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

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

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

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

equals() String类中的方法将另一个字符串作为参数,并将其与指定的字符串进行比较。true 当且仅当参数字符串不为null且包含与指定字符串相同的字符时,它返回 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
高粉答主

2021-04-06 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.8万
采纳率:74%
帮助的人:528万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式