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>
#include <conio.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");
}
getch();
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