在C语言中可使用strcmp()
函数及其相关函数:strncmp(),strcasecmp()和strncasecmp()来比较字符串。
字符串比较函数根据比较结果返回一个int
值:
- 返回
0
表示字符串相等时 - 根据第一个字符串的值是大于还是小于第二个字符串返回
int
值。
大多数时候,只需要检查返回的是否为0
值。
下面的代码使用strcmp()
函数将初始化的字符串密码与读取用户输入的文本进行比较,该文本存储在输入数组中。
该操作的结果存储在匹配变量中,该变量用于if-else
决策以显示结果。
#include <stdio.h>
#include <string.h>
int main()
{
char password[]="12345";
char input[15];
int match;
printf("输入密码: ");
scanf("%s",input);
match=strcmp(input,password);
if(match==0)
puts("密码正确,程序继续~");
else
puts("无效的密码,程序退出。");
return(0);
}
执行上面示例代码,得到以下结果:
hema@yiibai:~/book$ gcc main.c
hema@yiibai:~/book$ ./a.out
输入密码: 123123
无效的密码,程序退出。
hema@yiibai:~/book$ ./a.out
输入密码: 12345
密码正确,程序继续~
hema@yiibai:~/book$