C语言中的strcmp()函数是什么?


C库函数 **int strcmp(const char *str1, const char *str2)** 将由 **str1** 指向的字符串与由 **str2** 指向的字符串进行比较。

字符数组称为字符串。

声明

以下是数组的声明:

char stringname [size];

例如:char string[50]; 长度为50个字符的字符串

初始化

  • 使用单字符常量:
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • 使用字符串常量:
char string[10] = "Hello":;

**访问**:使用控制字符串“%s”访问字符串,直到遇到‘\0’。

strcmp()函数

  • 此函数比较两个字符串。

  • 它返回两个字符串中前两个不匹配字符的ASCII码差值。

字符串比较

语法如下:

int strcmp (string1, string2);

如果差值为零 ------ string1 = string2

如果差值为正 ------ string1 > string2

如果差值为负 ------ string1 < string2

示例程序

以下程序演示了strcmp()函数的用法:

 在线演示

#include<stdio.h>
main ( ){
   char a[50], b [50];
   int d;
   printf ("enter 2 strings:
");    scanf ("%s %s", a,b);    d = strcmp (a,b);    if (d==0)       printf("%s is equal to %s", a,b);    else if (d>0)       printf("%s is greater than %s",a,b);    else if (d<0)       printf("%s is less than %s", a,b); }

输出

执行上述程序后,会产生以下结果:

enter 2 strings:
bhanu
priya
bhanu is less than priya

让我们看另一个关于strcmp()的例子。

以下是使用strcmp库函数比较两个字符串的C程序:

示例

 在线演示

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring two strings//
   char string1[25],string2[25];
   int value;
   //Reading string 1 and String 2//
   printf("Enter String 1: ");
   gets(string1);
   printf("Enter String 2: ");
   gets(string2);
   //Comparing using library function//
   value = strcmp(string1,string2);
   //If conditions//
   if(value==0){
      printf("%s is same as %s",string1,string2);
   }
   else if(value>0){
      printf("%s is greater than %s",string1,string2);
   }
   else{
      printf("%s is less than %s",string1,string2);
   }
}

输出

执行上述程序后,会产生以下结果:

Enter String 1: Tutorials
Enter String 2: Point
Tutorials is greater than Point

更新于:2021年3月19日

653 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告