Funkcija strcmp () uspoređuje dva niza i vraća 0 ako su oba niza identična.
C strcmp () Prototip
int strcmp (const char * str1, const char * str2);
strcmp()
Funkcija traje dvije žice i vraća cijeli broj.
strcmp()
Uspoređuje dva niza znak po znak.
Ako je prvi znak dviju žica jednak, uspoređuje se sljedeći znak dva niza. To se nastavlja sve dok se odgovarajući znakovi dviju žica ne razlikuju ili se postigne null znak ' '
.
Definirano je u string.h
datoteci zaglavlja.
Povratna vrijednost iz strcmp ()
Povratna vrijednost | Opaske |
---|---|
0 | ako su oba niza identična (jednaka) |
negativan | ako je ASCII vrijednost prvog neusporedivog znaka manja od drugog. |
pozitivni cijeli broj | ako je ASCII vrijednost prvog neusporedivog znaka veća od drugog. |
Primjer: C strcmp () funkcija
#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; )
Izlaz
strcmp (str1, str2) = 32 strcmp (str1, str3) = 0
Prvi neusporedivi znak između niza str1 i str2 je treći znak. ASCII vrijednost 'c' je 99, a ASCII vrijednost 'C' 67. Dakle, kada se uspoređuju nizovi str1 i str2, povratna vrijednost je 32.
Kada se usporede nizovi str1 i str3, rezultat je 0 jer su oba niza identična.