Funktionen strcmp () sammenligner to strenge og returnerer 0, hvis begge strenge er identiske.
C strcmp () Prototype
int strcmp (const char * str1, const char * str2);
Den strcmp()
funktion tager to strenge og returnerer et heltal.
Den strcmp()
sammenligner to strenge tegn for tegn.
Hvis det første tegn i to strenge er ens, sammenlignes det næste tegn i to strenge. Dette fortsætter, indtil de tilsvarende tegn i to strenge er forskellige, eller ' '
der nås et null-tegn .
Det er defineret i string.h
headerfilen.
Returneringsværdi fra strcmp ()
Returneringsværdi | Bemærkninger |
---|---|
0 | hvis begge strenge er identiske (lige) |
negativ | hvis ASCII-værdien for det første umatchede tegn er mindre end det andet. |
positivt heltal | hvis ASCII-værdien for det første umatchede tegn er større end det andet. |
Eksempel: C strcmp () -funktion
#include #include int main() ( char str1() = "abcd", str2() = "abCd", str3() = "abcd"; int result; // comparing strings str1 and str2 result = strcmp(str1, str2); printf("strcmp(str1, str2) = %d", result); // comparing strings str1 and str3 result = strcmp(str1, str3); printf("strcmp(str1, str3) = %d", result); return 0; )
Produktion
strcmp (str1, str2) = 32 strcmp (str1, str3) = 0
Det første uovertrufne tegn mellem streng str1 og str2 er tredje tegn. ASCII-værdien for 'c' er 99, og ASCII-værdien for 'C' er 67. Derfor, når strengene str1 og str2 sammenlignes, er returværdien 32.
Når strenge str1 og str3 sammenlignes, er resultatet 0, fordi begge strenge er identiske.