C语言字符串函数

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。