一、strcmp
strcmp(字符数组名1,字符数组名2)
功能:按照ASCII码顺序比较两个数组中字符串,函数返回值返回比较结果。
- 字符串1=字符串2,返回值=0;
- 字符串2>字符串2,返回值>0;
- 字符串1<字符串2,返回值<0;
eg: strcmp(password, "123456")
- 如果两个字符串相等,strcmp 返回 0。
- 如果第一个不匹配的字符在 password 中的ASCII值低于 "123456" 中对应字符的ASCII值,它返回一个负数。
- 如果第一个不匹配的字符在 password 中的ASCII值高于 "123456" 中对应字符的ASCII值,它返回一个正数。
二、代码
利用了for循环和if语句
#include "string.h"
#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1
int main() {
char password[20] = { 0 };
int i = 0;
for(i=0;i<3;i++){
printf("请输入密码>");
scanf("%s", password);
if (strcmp(password, "123456")==0 )
{
printf("输入正确,登陆成功");
break;
}
else {
printf("密码输错,请重新输入\n");
}
}
if (i == 3) {
printf("三次密码输入错误,退出程序");
}
return 0;
}
效果图:
三、注意
用if(password=="123456")是错误的,这是比地址的做法没有意义。