C / C ++中的strcmp()

函数strcmp()是一个内置库函数,在“ string.h”头文件中声明。此函数用于比较字符串参数。它按字典顺序比较字符串,这意味着逐字符比较两个字符串。它开始比较字符串的第一个字符,直到两个字符串的字符相等或找到NULL字符为止。

如果两个字符串的第一个字符相等,则检查第二个字符,依此类推。该过程将一直持续到找到NULL字符或两个字符都不相等为止。

这是用C语言编写的strcmp()的语法,

int strcmp(const char *leftStr, const char *rightStr );

该函数根据比较结果返回以下三个不同的值。

1.Zero-如果两个字符串相同,则返回零。两个字符串中的所有字符都相同。

这是在C语言中两个字符串相等时的strcmp()示例,

示例

#include<stdio.h>
#include<string.h>
int main() {
   char str1[] = "Tom!";
   char str2[] = "Tom!";
   int result = strcmp(str1, str2);
   if (result==0)
   printf("Strings are equal");
   else
   printf("Strings are unequal");
   printf("\nValue returned by strcmp() is: %d" , result);
   return 0;
}

输出结果

Strings are equal
Value returned by strcmp() is: 0

2.大于零(> 0)-当左字符串的匹配字符的ASCII值大于右字符串的字符时,返回大于零的值。

这是一个用C语言返回大于零值的strcmp()的示例,

示例

#include<stdio.h>
#include<string.h>
int main() {
   char str1[] = "hello World!";
   char str2[] = "Hello World!";
   int result = strcmp(str1, str2);
   if (result==0)
   printf("Strings are equal");
   else
   printf("Strings are unequal");
   printf("\nValue returned by strcmp() is: %d" , result);
   return 0;
}

输出结果

Strings are unequal
Value returned by strcmp() is: 32

3.小于零(<0)-当左字符串的匹配字符的ASCII值小于右字符串的字符时,它返回小于零的值。

这是C语言中的strcmp()的示例

示例

#include<stdio.h>
#include<string.h>
int main() {
   char leftStr[] = "Hello World!";
   char rightStr[] = "hello World!";
   int result = strcmp(leftStr, rightStr);
   if (result==0)
   printf("Strings are equal");
   else
   printf("Strings are unequal");
   printf("\nValue returned by strcmp() is: %d" , result);
   return 0;
}

输出结果

Strings are unequal
Value returned by strcmp() is: -32