如何判断输入的一串密码是否与000086相等?
int i,weiqu[1000]={0},j,temp;char m;
printf("请输入万能密码:");
scanf("%s",&m);
if (strcmp(m, '000086') == 0)
这个一直显示是编译错误,不知道为什么。
求大佬帮帮忙吧!!!
完整代码如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void save(int n,int mima,int bianhao);
void get(int n,int *key,int *key1);
void wanneng(int n);
int inputchoice();
int main()
{
int choice,n,i,key[1000],mima,bianhao,key1[1000];
printf("寄存箱总数:");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
key1[i]=key[i]=1000+2*i;
}
while((choice=inputchoice())!=0){
switch(choice){
case 1:
save(n,mima,bianhao);
break;
case 2:
get(n,key,key1);
break;
default:
break;
}
}
}
int inputchoice()
{
int mychoice;
printf("1.投硬币 2.输密码 0.退出 请选择:");
scanf("%d",&mychoice);
return mychoice;
}
void save(int n,int mima,int bianhao)
{
int i,a,key[1000],key1[1000];
printf("投币值:");
scanf("%d",&a);
if(a==1)
{
for(i=0;i<=n;i++)
{
key1[i]=key[i]=1000+2*i;
}
for(i=0;i<=n;i++)
{
if(key1[i]!=0)
{
bianhao=i;
mima=key[i];
key1[i]=0;
break;
}
else continue;
}
printf("寄存箱编号:%d 密码:%dn",bianhao,mima);
if(i>n) printf("本柜已满n");
}
}
void get(int n,int *key1,int *key)
{
int mima,i;
printf("输入密码:");
scanf("%d",&mima);
for(i=0;i<=n;i++)
{
if(mima==key[i])
{
printf("%d号寄存箱已打开",i);
key1[i]=key[i];
break;
}
}
}
void wanneng(int n,int *key1,int *key)
{
int i,weiqu[1000]={0},j,temp;
char m;
printf("请输入万能密码:");
scanf("%s",&m);
if (strcmp(m, '000086') == 0)
{
for(i=0;i<=n;i++)
{
if(key1[i]==0)
{
for(j=0;j<=n;j++)
{
weiqu[j]=i;
}
}
}
printf("箱子已经全部打开,请重点检查");
for(i=0;i<=n;i++)
{
if(weiqu[i]!=0) printf("编号%d",weiqu[i]);
else break;
}
printf("是否有物留存");
}
}