假设,我们要对比两个字符串是否相同,那该怎么对比呢?
if (arr1 == "123456" ) ?
判断两个字符串是否相等,不能使用等号判断
应该使用strcmp(string compare 字符串比较)
我们来用实际代码演示 一下。
#include<stdio.h>
#include<string.h> //strcmp必备头文件
int main()
{
int a = 0;
char password[20] = ""; //这里一定要给[]内设置大小,否则因为只初始化了\0 导致数组大小为1
while (1)
{
scanf("%s", password); //因为password本身是个数组名,数组名本身就是个指针,所以不用加 &
if (strcmp(password, "123456") == 0)
{ //strcmp中 如果两个字符串相同,则返回值为0。
printf("输入正确\n");
break;
}
printf("输入错误\n");
}
return 0;
}