帮帮忙 看看这个程序代码哪有问题?自己没想通!!
程序代码:
写了个判断密码的代码,用户名没有判断。 题目要求: 编写一个密码登录程序,程序中将提示用户输入用户名和密码。如果密码有误,提示从新输入, 直到输入正确或连续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)啊!!。。。。 各位帮帮忙看看。。。。 还有就是有什么地方能够改进吗?