Az strcmp () függvény két karakterláncot hasonlít össze és 0-t ad vissza, ha mindkét karakterlánc azonos.
C strcmp () prototípus
int strcmp (const char * str1, const char * str2);
A strcmp()
függvény két karakterláncot vesz fel, és egész számot ad vissza.
A strcmp()
két karakterlánc összehasonlítását karakterenként.
Ha két karakterlánc első karaktere megegyezik, akkor két karakterlánc következő karakterét hasonlítjuk össze. Ez addig folytatódik, amíg két karakterlánc megfelelő karakterei különböznek egymástól, vagy el ' '
nem ér egy null karaktert .
A string.h
fejlécfájlban van meghatározva .
Visszatérési érték az strcmp () alapján
Visszatérési érték | Megjegyzések |
---|---|
0 | ha mindkét karakterlánc azonos (egyenlő) |
negatív | ha az első páratlan karakter ASCII értéke kisebb, mint a második. |
pozitív egész szám | ha az első páratlan karakter ASCII értéke nagyobb, mint a második. |
Példa: C strcmp () függvény
#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; )
Kimenet
strcmp (str1, str2) = 32 strcmp (str1, str3) = 0
Az első páratlan karakter az str1 és az str2 között a harmadik karakter. A „c” ASCII értéke 99, a „C” ASCII értéke 67. Így az str1 és str2 húrok összehasonlításakor a visszatérési érték 32.
Az str1 és str3 húrok összehasonlításakor az eredmény 0, mert mindkét húr azonos.