if判断之后你return 0直接退出了
#include<stdio.h>
int main()/*主函数*/
{
int n;
int i=0;
char password[10]={0};
for(i=0;i<3;i++)
{
//color(6);
printf("请输入密码:\n");
//color(7);
scanf("%s",password);
if(strcmp("123456",password)==0)
{
//color(10);
printf("密码正确,欢迎登陆!\n");
//color(7);
system("pause");
break;
}
else
{
color(12);
printf("密码错误,请重试!\n");
color(7);
if(i==2)
{
printf("三次密码输入错误,退出系统!\n");
}
}
}
return 0;
}
首先你这个i应该是用来记录输入了几次错误密码的,但你在else部分并没有对i进行加1
其次既然判断三次密码错误就结束,那么你应该判断if(i>=3),而不是i<3啊。
所以修改方法是:
变量i定义的时候初始化为0
else语句中增加 i++;
if(i<3)改为if(i>=3),并且在三次输入失败提示后,增加break跳出循环