帮帮忙 看看这个程序代码哪有问题?自己没想通!!
程序代码:写了个判断密码的代码,用户名没有判断。
题目要求:
编写一个密码登录程序,程序中将提示用户输入用户名和密码。如果密码有误,提示从新输入,
直到输入正确或连续3次输入错误后退出循环,并显示相应信息。
#define PASSWD "yachige" 默认密码
输入密码后有3次机会从新输入密码,3次都输入错误错误退出
#include<stdio.h>
#include<string.h>//比较字符串大小
#define PASSWORD "yachige"
int main(void)
{
char user[20],password[15];
int flag;
int i=3,b=3;
printf("Enter the use:");
scanf("%s",&user);
printf("\nEnter the passwd:");
scanf("%s",&password);
flag = strcmp(PASSWORD,password);//对比2个字符串,相同返回0,不相同(大于返回正整数,小于返回负整数)。
while(flag)//循环直到输入次数变0或者输入正确。
{
if(i<=1)
break;
if(i>0)
{
printf("The passwd is wory.Please enter the right passwd.");
printf("You have %d times opportunite.\n",--i);
scanf("%s",&password);
flag = strcmp(PASSWORD,password);
}
}
if(flag)
printf("The prgrammse is end\n");
else printf("Willcome the word:%s!\n",user);
return 0;
}上面while循环本来只循环输入3次, 那么我想第一个if语句应该是if(i<=0)才对啊 为什么if(i<=0)后他要输入4次才结束而用if(i<=1)就这输入3次。。。 一直没想明白。。应该是if(i<=0)啊!!。。。。 各位帮帮忙看看。。。。 还有就是有什么地方能够改进吗?









