这个是我写的关于这个问题的一点代码。看不出来哪里错了、、但是结果就是不行
for(i=0;i<3;i++)
{
printf("欢迎使用电子设备管理系统,请输入密码\n");
for(i=0;i<10;i++)
{
mi[i]=getch();
printf("*");
}
if(strcmp(str,mi)==0)
{
printf("登录成功\n");
break;
}
else
{
printf("!!输入错误\n");
}
}
前面定义mi的地方:char mi[11];
另外需要加一句话:
printf("欢迎使用电子设备管理系统,请输入密码\n");
memset(mi,0, 11); // 加这句话
for(i=0;i<10;i++)追问
str是事先设好的密码、、是9位密码、、在输入mi是最后要不要输入\0呢
追答如果str确定是9位,那么你的循环只需要运行9次就可以。这段代码里改一行,加一行:
for(i=0;i<3;i++)
{
printf("欢迎使用电子设备管理系统,请输入密码\n");
for(i=0;i<9;i++) // 这里10改成9
{
mi[i]=getch();
printf("*");
}
mi[10] = '\0'; // 加这行
if(strcmp(str,mi)==0)
{
printf("登录成功\n");
break;
}
else
{
printf("!!输入错误\n");
}
}