参照原代码,错误修正如下:
void pass()
{
int a, i; // 定义变量i,用于密码赋值
char s1[10] = {"112233"};
char s2[10];
char c; // 定义变量c
do
{
printf( " ***************************************************\n" );
printf( "\n" );
printf( " ★★★★★★★★ 请 输 入 密 码 :★★★★★★★★\n" );
printf( "\n" );
printf( " ***************************************************\n" );
i = 0; // i初始化
while( ( c = getch() ) != '\r' ) // 回车符作为输入终止标识
{
putchar( '*' ); // 单字符需用单引号
s2[i] = c; // 保存到s2中
i++;
}
putchar( '\n' );
s2[i] = '\0'; // s2结尾添加一个终止符
//gets(s2); // 不再需要
if( strcmp( s1, s2 ) == 0 )a = 1;
else
{
a = 0;
}
if( a == 1 )printf( "密码输入正确\n" );
else if( a == 0 )
printf( "对不起密码输入错误,请从新输入\n" );
}
while( a == 0 );
system( "cls" );
}