C strcmp () - C standardní knihovna

Funkce strcmp () porovnává dva řetězce a vrací 0, pokud jsou oba řetězce identické.

C strcmp () prototyp

 int strcmp (const char * str1, const char * str2);

strcmp()Funkce trvá dva řetězce a vrátí celé číslo.

strcmp()Porovnává dva řetězce znak po znaku.

Pokud je první znak dvou řetězců stejný, porovná se další znak dvou řetězců. To pokračuje, dokud se odpovídající znaky dvou řetězců neliší nebo dokud nedosáhnete nulového znaku ''.

Je definován v string.hhlavičkovém souboru.

Návratová hodnota z strcmp ()

Návratová hodnota Poznámky
0 pokud jsou oba řetězce stejné (stejné)
negativní pokud je hodnota ASCII prvního nepřizpůsobeného znaku menší než druhá.
kladné celé číslo pokud je hodnota ASCII prvního nepřizpůsobeného znaku větší než druhá.

Příklad: Funkce 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; ) 

Výstup

 strcmp (str1, str2) = 32 strcmp (str1, str3) = 0

První nesrovnatelný znak mezi řetězcem str1 a str2 je třetí znak. Hodnota ASCII 'c' je 99 a hodnota ASCII 'C' je 67. Proto při porovnání řetězců str1 a str2 je návratová hodnota 32.

Při porovnání řetězců str1 a str3 je výsledek 0, protože oba řetězce jsou identické.

Zajímavé články...