C 语言的 strncmp

C 语言的 strncmp 函数是一个字符串函数,用于比较两个字符串。或者说它检查这两个字符串是否相等。strncmp 函数使用第三个参数来限制比较。它不是比较整个字符串,而是意味着您可以比较前四个字符,或前五个字符,依此类推。strncmp 方法返回以下三个值中的任何一个。

  • 如果 str1 小于 str2,则返回 -1。
  • 如果 str1 大于 str2,则返回 +1。
  • 如果 str1 和 str2 相等,则函数返回 0。

C 语言 strncmp 语法

此编程语言中 strncmp 的基本语法如下所示。

char *strncmp(char *str1, char *str2, size_t n);

或者我们可以简单地像下面这样写 strncmp。

strncmp(str1, str2, string_length);
  • n:您要比较的最大字符数。

C 语言 strncmp 示例

strncmp 函数用于将用户指定的字符串与现有字符串进行 n 个字符的比较。此程序将帮助您通过多个示例来理解 strncmp。

提示:在使用此 strncmp 字符串函数之前,必须包含 #include<string.h> 头文件。

#include <stdio.h> 
#include<string.h>
 
int main()
{
   char str1[50] = "abcdef";
   char str2[50] = "abcd";
   char str3[] =  "ghi";
   int i, j, k;
	
   i = strncmp(str1, str2, 4);		
   printf("\n The Comparison of str1 and str2 Strings = %d", i);
 	
   j = strncmp(str1, str2, 6);		
   printf("\n The Comparison of str1 and str2 Strings = %d", j);
   
   k = strncmp(str1, str3, 3);		
   printf("\n The Comparison of str1 and str3 = %d", k);
}
strncmp in C language Example 1

由于第三个参数是 4,因此它比较前四个字符。

i = strncmp(str1, str2, 4); // abcd = abcd

这个 C 编程语句将比较前六个字符,因为第三个参数是 6。

j = strncmp(str1, str2, 6); // abcdef = abcd

strncmp 示例 2

此 strncmp 程序将使用 Else If 语句打印有意义的消息,而不是打印 0、1 和 -1 作为结果。

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

int main()
{
char str1[50] = "abcdefgh";
char str2[50] = "ABC";
int result;

result = strncmp(str1, str2, 3);

if(result < 0)
{
printf("\n str1 is Less than str2");
}
else if(result > 0)
{
printf("\n str2 is Less than str1");
}
else
{
printf("\n str1 is Equal to str2");
}
return 0;
}
 str2 is Less than str1

strncmp 示例 3

此程序允许用户输入两个字符串。接下来,它将使用 strncmp 函数比较这两个字符串。

#include <stdio.h> 
#include<string.h>
 
int main()
{
	char str1[100], str2[100];
	int result;
 
	printf("\n Please Enter First String  : ");
	gets(str1);	
	
	printf("\n Please Enter the String that you want to Compare : ");
	gets(str2);	
	
	result = strncmp(str1, str2, 4);
	
 	if(result < 0)
   	{
   		printf("\n First String is Less than Second String");
	}
	else if(result > 0)
   	{
   		printf("\n Second String is Less than First String");
	}
	else
   	{
   		printf("\n First String is Equal to Second String");
	}
	
}
strncmp Example 3

我将 Size 值从 4 更改为 12,看看结果。

 Please Enter First String  : Good Morning

 Please Enter the String that you want to Compare : Good Afternoon

 Second String is Less than First String