该题目是为了检验手机锁屏是否可以打开
在B处,strcmp内的两个字符串明明不一样但是输出了0
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char key[3][4],a[10],str[9][3],result[4][5];
int i,z,n,b,c,d=0,e=0,num,count,p=0,x=0;
_Bool flag=1;
for(i=0;i<=4;i++)
{
z=0;n=0;b=0;c=0;d=0;e=0;num=1;count=0;p=0;
flag=1;
n=0;
for(z=0;z<9;z++)
{
scanf("%c",&a[z]);
if(a[z]=='\n')
break;
}
a[z]='\0';
for(n=0;n<9;n++)
{
switch(a[n])
{
case '1':case '2':case '3':
b=0;break;
case '4':case '5':case '6':
b=1;break;
case '7':case '8':case '9':
b=2;break;
}
switch(a[n])
{
case '1':case '4':case '7':
c=0;break;
case '2':case '5':case '8':
c=1;break;
case '3':case '6':case '9':
c=2;break;
}
if(n==z)break;
key[b][c]=n+1;
}
for(num=1;num<=n;num+=2)
{
b=d=0;
c=e=0;
for(b=0;b<3;b++)
{
for(c=0;c<3;c++)
{
if(key[b][c]==num)
{
str[p][0]=b;
str[p][1]=c;
str[p][2]='\0';
p++;
goto A;
}
}
}
A: for(d=0;d<3;d++)
{
for(e=0;e<3;e++)
{
if(key[d][e]==num+1)
{
str[p][0]=d;
str[p][1]=e;
str[p][2]='\0';
p++;
goto B;
}
}
}
B: for(count=0;count<=num-1;count++)
{
if(strcmp(str[num],str[count])==0)
{
flag=0;
goto C;
}
}
if(fabs(b-d)==2||fabs(c-e)==2)
{
str[p][0]=fabs(b-d)/2;
str[p][1]=fabs(c-e)/2;
str[p][2]='\0';
++i;
}
}
C: if(flag)
{
result[x][0]='Y';
result[x][1]='E';
result[x][2]='S';
result[x][3]='\0';
x++;
}
else
{
printf("1\n");
result[x][0]='N';
result[x][1]='O';
result[x][2]='\0';
x++;
}
memset(a,0,sizeof(a));
memset(key,0,sizeof(key));
memset(str,0,sizeof(str));
}
for(x=0;x<=4;x++)
{
printf("%s\n",result[x]);
}
return 0;
}
```
strcmp内的两个字符串明明不一样,都是什么?