STRCMP
头文件:#include<string.h>
用于字符串的比较
语法:int re=strcmp(str1,str2)
简单来说:
strcmp会比较两个字符串并返回一个值,如果值为零,则表示str1与str2相等
char str1[50] = "Hello World";
char str2[50] = "Hello World";
int re = strcmp(str1, str2);
printf("%d", re);
运行结果:0 即str1与str2相同
原理:函数会根据ASCII编码依次比较str1,str2中的每一个字符直到末尾。
返回的值将根据str1,str2中字符大小的差值来定:
如:
char str1[50] = "aaa";
char str2[50] = "aab";
int re = strcmp(str1, str2);
printf("%d", re);
程序返回-1 即str1<str2。
实例:验证用户注册时两次输入的密码是否一致
#include <stdio.h>
#include <string.h>
int main() {
char str1[100] = { 0 };
char str2[100] = { 0 };
int i = 0;
do {
i++;
if (i > 1) {
printf("两次密码不一致\n");
}
gets_s(str1, 100);
gets_s(str2, 100);
} while (strcmp(str1, str2));
return 0;
}
第一次输入:
12345678
1234567
程序返回:
两次密码不一致
第二次输入:
ABCDEFG
abcdefg
程序返回
两次密码不一致
第三次输入
ABC
ABC
两字符串相同 返回0 程序结束
//END