Strcmp () -funksjonen sammenligner to strenger og returnerer 0 hvis begge strengene er identiske.
C strcmp () Prototype
int strcmp (const char * str1, const char * str2);
Den strcmp()
funksjonen tar to strenger og returnerer et heltall.
Sammenligner strcmp()
to strenger karakter for karakter.
Hvis det første tegnet i to strenger er likt, sammenlignes det neste tegnet i to strenger. Dette fortsetter til de tilsvarende tegnene i to strenger er forskjellige eller et nulltegn ' '
er nådd.
Det er definert i string.h
toppteksten.
Returverdi fra strcmp ()
Returverdi | Merknader |
---|---|
0 | hvis begge strengene er identiske (like) |
negativ | hvis ASCII-verdien til det første umatchede tegnet er mindre enn det andre. |
positivt heltall | hvis ASCII-verdien til det første umatchede tegnet er større enn det andre. |
Eksempel: C strcmp () -funksjon
#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; )
Produksjon
strcmp (str1, str2) = 32 strcmp (str1, str3) = 0
Det første uovertrufne tegnet mellom streng str1 og str2 er tredje tegn. ASCII-verdien på 'c' er 99 og ASCII-verdien på 'C' er 67. Når strenger str1 og str2 sammenlignes, er returverdien derfor 32.
Når strengene str1 og str3 sammenlignes, er resultatet 0 fordi begge strengene er identiske.