思路:分两个环节
1.输入密码,存储在数组里
2.密码验证(尝试次数不超过3次)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{
char password[20] = { 0 };
int i = 0;
for ( i = 0; i <3; i++)
{
printf("输入密码:");
scanf("%s", password);
if (0==strcmp(password,"abc123"))
{
printf("密码正确\n");
break;
}
else
printf("密码错误,再试一次\n");
}
if (3==i)
printf("三次都输错,退出程序\n");
return 0;
}
注意:1.字符串不能直接用==比较,要调用strcmp(string compare)
2.调用strcmp函数要写#include <string.h>
格式:
strcmp(字符串1,字符串2)==0 //两字符串相等
补充: 这里的“less than”和“greater than”比的不是字符串的长度,而是ASCII值
strcmp的比较逻辑:
如比abcdef和abcddeff
该函数比较对应位置的单个字符的ASCII值
前四个字符的ASCII值一样,到了第五个:
e的ASCII值101,d的ASCII值100,且101>100,所以“abcdef greater than abcddeff”,后面的字符不再比较