假设,我们要对比两个字符串是否相同,那该怎么对比呢?
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;
}
字符串比较方法:使用strcmp实现
该博客介绍了如何在C语言中使用strcmp函数来比较两个字符串是否相等。通过示例代码展示了当输入的密码与预设的123456匹配时,程序会输出输入正确,否则提示输入错误。这强调了在编程中正确比较字符串的重要性,以及避免直接使用等号进行字符串比较的错误做法。
671

被折叠的 条评论
为什么被折叠?



