c语言判断字符数组相等

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<windows.h>
#include<conio.h>
int main()
{char a[7];
char b[7]="111111";
int i=0;
system("color 84");
printf(" ");
printf("【请输入密码】:\n\n");
printf(" ");
for (i=0;i<=5;i++)
{a[i]=getch();
printf("*");
}
getch();
printf("\n");
printf(" ");
if(strcmp(a,b)==0)
printf("密码正确,稍等进入。\n");
else
printf("密码错误!请重新输入\n");
system("pause");
}

为什么我输入111111,却是密码错误呢?

因为你定义的a是一个字符数组,而b是一个字符串,两者直接比较当然不等,你在输入完a后应该加上 a[6]='\0';

这样就对了。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<windows.h>
#include<conio.h>
int main()
{char a[7];
char b[7]="111111";
int i=0;
system("color 84");
printf(" ");
printf("【请输入密码】:\n\n");
printf(" ");
for (i=0;i<=5;i++)
{a[i]=getch();
printf("*");
}
a[6]='\0';
getch();
printf("\n");
printf(" ");
if(strcmp(a,b)==0)
printf("密码正确,稍等进入。\n");
else
printf("密码错误!请重新输入\n");
system("pause");
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言中如何判断字符串数组与规定的数组相同
return 0;}

c语言中strcmp的用法?
在C语言中,strcmp函数是一个强大的工具,用于比较两个字符数组。它的原型定义为int strcmp(char* str1, char* str2),其主要功能是判断字符串str1和str2是否相等。当两者完全匹配时,strcmp会返回0,表示字符串相同。如果存在差异,函数会根据ASCII值进行比较。具体规则如下:- 如果str1中的某个字符...

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...

C语言判断两个长度不等的字符数组是否相等的方法
for(i=0;i<100;i++)\/\/计算str1里的字符数 for(i=0;i<100;i++)\/\/计算str2里的字符数 \/\/还有其他的情况例如字符数过多(str1用了80个,str2有30个)等待情况都可以通过这两个记录来进行判断,就不赘述了 if(n<=0||n>size1)\/\/判断条件"n<=0||n>20"也不对,在n=18处插入一个...

c语言中怎样判断两字符相等
通过==方式进行判断,==是比较,可以比较字符,数字值等等。举例:char s1 = 'c';\/\/定义一个字符变量s1,内容是cchar s2 = 'd'; \/\/定义一个字符变量s2,内容是dif(s1==s2){\/\/通过==判断是否相同 \/\/相等}

c语言中怎么判断一个字符数组中的一项和输入的字符是否一样
假设数组是a[20]int i;char s;scanf("%c",&s);for(i=0;i<20;i++){ if a[i] == s;printf("YES")else printf("no");}

C语言做题比较字符数组a和字符数组b中的两个字符串是否相等(比较对应...
int compare(char a[100],char b[100])\/\/定义一个比较两个字符串函数a[100], b[100]分别是形参 { int i,j;for(i=0;a[i]!='\\0'||b[i]!='\\0';i++)if(a[i]!=b[i]){ j=(a[i]-'0')-(b[i]-'0');return(j);} return(0);} void main(){ char a[100]="...

C语言里用什么函数判断汉字相同啊
首先一个汉字占2个字节,C语言一个char字符类型占1个字节,也就是在程序中汉字要当做字符串去处理。在C语言中就要用到char*指针或char[]字符数组来记录汉字。判断相同,也就是字符串比较了,用string.h库中的strcmp(s1,s2)字符串比较函数解决判断相同问题。示例程序:include <stdio.h>#include <...

c语言字符串变量输出判断
判断两个字符串是否相等可以用用string.h中的strcmp函数。另外说下啊,你的代码意思应该是判断输入的字符串是否等于“123”。可以是的数组a定义长度是3,字符串“123”其实后面还有一个结束符‘\\0’,所以长度是4。正确的代码应该是:include <stdio.h>#include <string.h>#define MAXSIZE 100int ...

C语言如何判断输入的字符串等于某个字符串
  strcmp(字符数组名1,字符数组名2)功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。    字符串1=字符串2,返回值=0;    字符串2〉字符串2,返回值〉0;    字符串1〈字符串2,返回值〈0。

相似回答