C / C ++中的strncmp()和strcmp()之间的区别

strncmp()

该函数strncmp()用于比较左字符串与右字符串(最多一个数字)。它的工作原理与相同strcmp()。当左字符串的匹配字符的ASCII值大于右字符串的字符时,它将返回大于零的值。当左字符串的匹配字符的ASCII值小于右字符串的字符时,返回小于零的值。

这是strncmp()C语言的语法,

int strncmp ( const char *leftString, const char *rightString, size_t number );

这里,

  • leftString- 第一个要与右字符串进行比较的字符串。

  • rightString- 第二个字符串,用于比较第一个字符串。

  • -最大字符数比较。

这是strncmp()C语言的示例,

示例

#include<stdio.h>
#include<string.h>

int main() {
   char str1[] = "blank";
   char str2[] = "你好,世界!";
   int result = strncmp(str1, str2, 1);

   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: 26

strcmp()

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

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

当左字符串的匹配字符的ASCII值大于右字符串的字符时,它将返回大于零的值。当左字符串的匹配字符的ASCII值小于右字符串的字符时,它将返回小于零的值。

这是strcmp()C语言的语法,

int strcmp(const char *leftString, const char *rightString );

这里,

  • leftString-第一个要与右字符串进行比较的字符串。

  • rightString-第二个字符串,用于比较第一个字符串。

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

示例

#include<stdio.h>
#include<string.h>
int main() {
   char str1[] = "你好,世界!";
   char str2[] = "你好,世界!";
   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