C语言 strcmp()
函数用于比较两个字符串,它是一个区分大小的函数。它是C语言的字符串函数之一。
语法
语法如下:int strcmp(char *s1,char * s2)
参数
- s1:指定要比较的第一个字符串。
- s2:指定要比较的第二个字符串。
功能
比较字符串s1和s2的不同。
比较的原理是对字符串s1和s2逐个字符进行比较,当第一次出现不同的时候,对它们的ASCII码值进行比较并返回结果。
返回值
返回int类型。
- 当s1<s2时,返回值<0
- 当s1=s2时,返回值=0
- 当s1>s2时,返回值>0
程序示例
介绍3个例子,了解C语言 strcmp ()
函数的使用方法。
例1
比较结果等于0的例子
#include <stdio.h>
#include <string.h>
int main(){
char *s1 = "yxjc123.com"; //第一个字符串
char *s2 = "yxjc123.com" ;//第二个字符串
int r1 = strcmp(s1, s2);
printf("s1和s2的比较结果:%d", r1); //完全相同
return 0;
}
程序运行结果:
s1和s2的比较结果:0
例2
比较结果大于0的例子
#include <stdio.h>
#include <string.h>
int main(){
char *s1 = "yxjc123.com"; //第一个字符串
char *s2 = "yxjc123" ;//第二个字符串
int r1 = strcmp(s1, s2);
printf("s1和s2的比较结果:%d", r1); //大于
return 0;
}
程序运行结果:
s1和s2的比较结果:46
例3
比较结果小于0的例子,区分大小写。
#include <stdio.h>
#include <string.h>
int main(){
char *s1 = "yxJc123.com"; //第一个字符串
char *s2 = "yxjc" ;//第二个字符串
int r1 = strcmp(s1, s2);
printf("s1和s2的比较结果:%d", r1); //小于
return 0;
}
程序运行结果:
s1和s2的比较结果:-32
我们看到,虽然s1字符串长度大于s2但是因为是逐个比较,第一次出现不同的是J和j字符,它们相差32,所以返回结果为-32。