C strncmp() library function

The function int strncmp(const char *str1, const char *str2, size_t n); compares first n characters string pointed by str1 with first n characters of string pointed by str2. This function compares both string character by character. It will compare till n characters until the characters mismatch or a terminating null-character is reached.

Function prototype of strncmp

int strncmp(const char *str1, const char *str2, size_t n);
  • str1 : A pointer to a C string to be compared.
  • str2 : A pointer to a C string to be compared.
  • n : Maximum number of characters to compare.

Return value of strncmp

Return Value Description
Positive (>0) str2 is less than str1
Zero (==0) str1 is equal to str2
Negative (<0) str1 is less than str2

C program using strncmp function

The following program shows the use of strncmp function to compare first n characters of two strings.

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

int main()
{
   char firstString[100], secondString[100];
   int response, n;
   printf("Enter first string\n");
   scanf("%s", &firstString);
   printf("Enter second string\n");
   scanf("%s", &secondString);
   printf("Enter number of characters to compare\n");
   scanf("%d", &n);
   
   response = strncmp(firstString, secondString, n);

   if(response > 0){
      printf("second String is less than first String");
   } 
   else if(response < 0) {
      printf("first String is less than second String");
   }
   else {
      printf("first String is equal to second String");
   }
   
   return(0);
}

Output
Enter first string
ASDFGiuyiu
Enter second string
ASDFGiuhkjshfk
Enter number of characters to compare
5
first String is equal to second String