要求:编写代码模拟用户登录,并且只能登陆3次,如果成功,则显示登录成功,如果三次都失败,则显示输入错误并且退出程序
但是当时犯了一个错误,字符串不能用“=="直接进行比较。
#include<stdio.h>
int main()
{
int i=0;
char ing[10];
for(;i<3;i++)
{
printf("请输入密码:");
scanf("%s",&ing);
if(ing == 123456)
{
printf("登陆成功!");
break;
}
if(i==3)
{
printf("机会已耗尽,请于5分钟后重试!");
}
}
return 0;
}
后面便准备导入库函数strcmp来比较字符串是否相等。
改正优化后如下:
#include<stdio.h>
#include<string.h>
int main()
{
int i=0;
char ing[10];
for(;i<3;i++)
{
printf("请输入密码:");
scanf("%s",&ing);
if(strcmp(ing, "123456") == 0 )
{
printf("登陆成功!");
break;
}
else
{
printf("密码错误,请重新输入!\n");
}
if(i==3)
{
printf("机会已耗尽,请于5分钟后重试!");
}
}
return 0;
}