编写代码实现登录,并且只登录三次。
#include<stdio.h>
int main()
{
int i=0;
for(i=0;i<3;i++)
{
printf("请输入密码“);
}
return 0;
}
根据提议我们可以首先打出框架。
不妨先假设密码为字符串。123456.
#include<stdio.h>
int main()
{
int i=0;
char password[20]={0};
for(i=0;i<3;i++)
{
printf("请输入密码”);
scanf("%s",password);
}
return 0;
}
当按照思路运用if else语句时。
问题出在:在判断两个字符串是否相等时要用strcmp函数,不能直接用==。
int main()
{
int i = 0;
char password[20] = { 0 };
int flag = 0;
for (i = 0; i < 3; i++)
{
printf("请输入密码");
scanf("%s", password);
if (0 == strcmp(password ,"123456"))
{
printf("登录成功");
flag = 1;
break;
}
else
{
printf("第%d密码错误\n", i + 1);
}
}
if (flag == 0)
{
printf("三次密码均输入错误,退出程序。\n");
}
return 0;
}
int ret = strcmp(password,"123456");
如果第一个字符串大于第二个字符串,返回<0的数字。
如果第一个字符串小于第二个字符串,返回>0的数字。
如果第一个字符串等于第二个字符串,返回0。