关于数组和if循环函数的一个小问题
void xuanze()
{
int i;
char temp1[N],temp2[N],temp3[N],yhmtmp[N];
char s1[N],s2[N];
printf("-----------\n1.注册\n2.登陆\n0.退出\n");
scanf("%d",&i);
system("cls");
if(i==1)
{
printf("输入用户名\n");
fflush(stdin);//清空缓存
gets(yhmtmp);
printf("输入密码\n");
fflush(stdin);
gets(temp1);
printf("输入密码确认\n");
fflush(stdin);
gets(temp2);
if(!strcmp(temp1,temp2))
{
system("cls");
printf("注册成功\n");
xuanze();
}
else
{
printf("两次输入不一致,输入密码确认\n");
gets(temp3);
if(!strcmp(temp1,temp3))
{ system("cls");
printf("注册成功\n");
}
xuanze();
}
}
else if(i==2)
{
printf("输入用户名\n");
fflush(stdin);
gets(s1);
printf("输入密码\n");
fflush(stdin);
gets(s2);
if(!strcmp(s1,yhmtmp))
if(!strcmp(s2,temp1))
printf("登陆成功\n");
else
{system("cls");printf("密码错误\n");xuanze();}
else
{printf("用户名不存在\n");xuanze();
}
}
else if(i==0)
{
Quit();
}
}
这个小程序的登录系统在判断用户名和密码的时候产生了错误,不管怎么输入都会是永假。感觉要么是之前注册的用户名和密码根本没有存到数组里,那个比较没意义,要么就是判断的方式有问题。请大家看看~~(可能会有一些括号什么的问题,应该是修改后忘了加什么的。是能运行的。。就是没效果