C语言中比较两个字符串是否相等的方法是使用strcmp函数。
它的形式是:strcmp(str1, str2) == 0(成立则两个字符串相等),它需要在编译器开头加上#include
#include
#include
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
"A"<"B" "a">"A" "computer">"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。
strcmp的头文件为#include
如果用到string类,则头文件为#include
#include
老版本是
strcmp函数,string comparison。接受两个参数。用前者去减后者。如果为0就是相等。如果负数,前者在ASCLL表的代码比后者小。在后者前面。
strcmp("ab","ad");
有些系统为-1有些系统为-2.
strncmp接受3个参数。
strncmp("abc","abcdefg",3);
判断前三个。第三个参数指定比较的位数。
而且还可以利用判断和指针判断除某些字符外的指定位置。
#include
using namespace std;
int main()
{
char a[16],b[16];
cout<<"请输入您的密码"<
{
cin>>a;
cout<<"请再次输入您的密码"<
if (strcmp(a,b)==0)
{
cout<<"恭喜您!登陆成功"<
}
else
cout<<"您两次输入的密码不一致,请重新输入"<
return 0;
}
string(a)==string(b) 或
#include
strcmp(a,b) == 0表示相等