编写代码实现登录,并且只登录三次。
#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。