C++中如何判断两个字符串是否相等?

#include<iostream>usingnamespacestd;intmain(){chara[16],b[16];cout<<"请输入您的密码"<<endl;d... #include<iostream>
using namespace std;
int main()
{
char a[16],b[16];
cout<<"请输入您的密码"<<endl;
do
{
cin>>a;
cout<<"请再次输入您的密码"<<endl;
cin>>b;
if(a==b)
{
cout<<"恭喜您!登陆成功"<<endl;
break;
}
else
cout<<"您两次输入的密码不一致,请重新输入"<<endl;
}while(a!=b);
}
展开
 我来答
鄙视04号
高粉答主

推荐于2019-11-01 · 醉心答题,欢迎关注
知道小有建树答主
回答量:1158
采纳率:98%
帮助的人:220万
展开全部

C语言中比较两个字符串是否相等的方法是使用strcmp函数。

它的形式是:strcmp(str1, str2) == 0(成立则两个字符串相等),它需要在编译器开头加上#include<string.h>头文件。它的作用是接受两个参数,并用前者去减后者。如果为0就是相等。如果负数,前者在ASCLL表的代码比后者小。举例:

#include<stdio.h>

#include<string.h>

int main()

{

char str1[] = "123456";

char str2[] = "123456";

if (strcmp(str1, str2) == 0)  //这一步开始比较两个字符串是否相等。

printf("这两个字符串相等.");

else printf("这两个字符串不相等");

return 0;

}

输出结果为:

扩展资料:

一、函数的实现原理:向strcmp()函数中传入两个字符串(记为str1,str2).传入之后,通过把str1的各字母的ASCII码值和str2的各字母的ASCII码值进行比较。若str1>str2则返回正数,若str1=str2则返回0,否则,则返回负数。

二、函数使用规则:

当s1<s2时,返回为负数;当s1==s2时,返回值= 0;当s1>s2时,返回正数。即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:

"A"<"B" "a">"A" "computer">"compare"

特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。

参考资料:strcmp函数-百度百科

chiconysun
2012-04-02 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2501万
展开全部
strcmp的头文件为#include <cstring>
如果用到string类,则头文件为#include <string>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a624293149
2012-04-02
知道答主
回答量:3
采纳率:0%
帮助的人:3.1万
展开全部
#include <string.h>
老版本是<strings.h>
strcmp函数,string comparison。接受两个参数。用前者去减后者。如果为0就是相等。如果负数,前者在ASCLL表的代码比后者小。在后者前面。
strcmp("ab","ad");
有些系统为-1有些系统为-2.
strncmp接受3个参数。
strncmp("abc","abcdefg",3);
判断前三个。第三个参数指定比较的位数。
而且还可以利用判断和指针判断除某些字符外的指定位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
易飞众天
2012-09-11
知道答主
回答量:1
采纳率:0%
帮助的人:1570
展开全部
#include<iostream>
using namespace std;
int main()
{
char a[16],b[16];
cout<<"请输入您的密码"<<endl;
do
{
cin>>a;
cout<<"请再次输入您的密码"<<endl;
cin>>b;
if (strcmp(a,b)==0)
{
cout<<"恭喜您!登陆成功"<<endl;
break;
}
else
cout<<"您两次输入的密码不一致,请重新输入"<<endl;
}while(a!=b);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e29fac5
推荐于2017-09-03 · TA获得超过1315个赞
知道小有建树答主
回答量:790
采纳率:50%
帮助的人:593万
展开全部
string(a)==string(b) 或
#include <string.h>
strcmp(a,b) == 0表示相等
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式