我没办法了,只好求助了!!!
#include"windows.h"
char *login()
{
int i = 0, second;
char password, pw[19];
label:printf("请输入密码:");
while( 1 )
{
password = getch();
if( password < '!' || password > '~' )
{
if( password == '\b' || password == '\r' )
{
if( password == '\r' ) break;
else printf("\b \b"), i --;
}
else
{
second = 3;
while( second )
{
system("cls");
printf("错误输入,请重新输入\t");
printf("%d", second -- );
Sleep(1200);
}
system("cls");
goto label;
}
}
else
{
pw[i] = password;
i ++;
printf("*");
}
}
pw[i] = '\0';
return pw;
}
void main()
{
char *password = "infinite";
if( strcmp( password, login() ) == 0 ) printf("密码正确\n\n");
else printf("密码不正确\n\n");
}
郁闷的地方就在 红色字 部分,只要有 second = x; ( x 是一个整数 ),那个 while 循环 每次都会循环 2次
你们可以复制去运行一下看看
[解决办法]
没人回答么