我正在编写一个允许某人登录的程序。但是当我输入的id和密码等于预设值时,我无法使其打印成功登录。
int main()
{
int id,pass,idC=0,passC=0,i,myid,mypass,tries=1;
myid = 10082612;
password = 123456;
printf("**LOG IN**\n\n");
printf("ID: ");
scanf("%d", &id);
printf("Password: ");
scanf("%d", &pass);
while(id != 0){
id /= 10;
idC++;
}
while(pass!= 0){
pass /= 10;
passC++;
}
if(idC==8 && passC ==6 || idC==7 && passC==6){
if(id==myid && pass==mypass){
printf("Successfully Login");
}
else{
printf("Unknown ID");
}
}
else if(idC!=8 && passC==6 || idC!=7 && passC==6){
printf("The Student ID should be in 7 or 8 digits, please try again");
}
else if(idC==8 && passC!=6 || idC==7 && passC!=6){
printf("Please enter a 6-digit pin");
}
}
这是我写的。
最佳答案
您应该将 idC 和 passC 初始化为 1,因为对于 8 位数字,循环只有 7 次为真,依此类推。
int idC = 1,passC = 1;
关于c - C编程中如何检查输入是否等于预设值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46525434/