C string strcmp() function
Example
Compare two strings to see which is greater:
char myStr1[] = "ABCD";
char myStr2[] = "ABCE";
int cmp = strcmp(myStr1, myStr2);
if (cmp > 0) {
printf("%s is greater than %s\n", myStr1, myStr2);
} else if (cmp < 0) {
printf("%s is greater than %s\n", myStr2, myStr1);
} else {
printf("%s is equal to %s\n", myStr1, myStr2);
}
Try it Yourself »
Definition and Usage
The strcmp()
function compares two strings and returns an integer indicating which one is greater.
For this comparison characters at the same position from both strings are compared one by one, starting from the left until one of them does not match or the end of a string has been reached. There are three possible scenarios:
- If the end of both strings has been reached without any mismatches then the function returns zero.
- At the first mismatch, if the ASCII value of the character in the first string is greater then the function returns a positive number.
- At the first mismatch, if the ASCII value of the character in the second string is greater then the function returns a negative number.
The strcmp()
function is defined in the <string.h>
header file.
Syntax
strcmp(const char * str1, const char * str2);
Parameter Values
Parameter | Description |
---|---|
str1 | Required. One of the strings to be compared. |
str2 | Required. One of the strings to be compared. |
Technical Details
Returns: |
An int value which is positive if the first string is greater,
negative if the second string is greater and 0 if the two strings are equal.
|
---|