C初学者小程序,会连续输出很多次:密码错误还有%d次输入机会。。求大侠解答

#include<stdio.h>
int main(int argc,char **argv)
{
int x,logit,a;
x=8;
logit=4;
a=5;
while(logit==4&&a>0)
{
printf("输入密码\n");
x=getchar();
if (x==8860026)
logit=5;
else
{
a--;
logit=4;
printf("密码错误/n还有%d次输入机会i\n",a);
}
}

switch(logit)
{

case 4:
printf("机会用尽了,改天再试吧。\n");
case 5:
{
printf("密码正确!!\n");
printf("秘密就是-我是火星人!\n");
}
}
return 0;
}

你x的定义是int,输入的时候却使用了getchar(),当然这只是不太好,也不是完全不行,涉及一个转化的问题。
你主要的关键点是,你的密码不是一位数字,而是一个字符串,要输入一个字符串可不能用int型,一定要用char x[8],假设密码是不超过7个字符的字符串,然后输入不要用getchar()而是用gets(),表示输入一行。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答