Funcția strcmp () compară două șiruri și returnează 0 dacă ambele șiruri sunt identice.
C strcmp () Prototip
int strcmp (const char * str1, const char * str2);
strcmp()
Funcția ia două șiruri și returnează un număr întreg.
strcmp()
Compară două șiruri de caractere de caracter.
Dacă primul caracter al două șiruri este egal, următorul caracter al două șiruri este comparat. Aceasta continuă până când caracterele corespunzătoare din două șiruri sunt diferite sau ' '
se atinge un caracter nul .
Este definit în string.h
fișierul antet.
Valoare returnată de la strcmp ()
Valoare returnată | Observații |
---|---|
0 | dacă ambele șiruri sunt identice (egale) |
negativ | dacă valoarea ASCII a primului caracter de neegalat este mai mică decât a doua. |
număr întreg pozitiv | dacă valoarea ASCII a primului caracter de neegalat este mai mare decât a doua. |
Exemplu: funcția C strcmp ()
#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; )
Ieșire
strcmp (str1, str2) = 32 strcmp (str1, str3) = 0
Primul caracter fără egal între șirul str1 și str2 este al treilea caracter. Valoarea ASCII a „c” este 99 și valoarea ASCII a „C” este 67. Prin urmare, atunci când șirurile str1 și str2 sunt comparate, valoarea returnată este 32.
Când se compară șirurile str1 și str3, rezultatul este 0 deoarece ambele șiruri sunt identice.