Tartalom
A húrhossz-összehasonlítás a C programozási nyelvben gyakran használt függvény, mert lehetővé teszi, hogy megtudja, melyik karakterlánc tartalmaz több karaktert. Ez nagyon hasznos az adatok rendezéséhez. A húrok összehasonlítása speciális funkciót igényel; ezért ne használja: != vagy ==.
Lépni
- Két funkció lehetővé teszi a C karakterláncok összehasonlítását. Mindkettő szerepel a karakterlánc.h>kódkönyvtár.
- strcmp () - Ez a függvény két karakterláncot hasonlít össze, és a karakterek számának különbségét adja vissza.
- strncmp () - Ez vonatkozik a strcmp (), csakhogy ez az első n összehasonlítja a karaktereket. Biztonságosabbnak tekintik, mivel segít megelőzni a túlcsordulás összeomlását.
- Futtassa a programot a szükséges könyvtárakkal. Mindkét könyvtár megvan stdio.h> és karakterlánc.h> szükséges, más programkönyvtárakkal együtt, amelyekre szükség lehet a programhoz.
#include stdio.h> [[Kép: Két karakterlánc összehasonlítása a C programozás 1. lépésének 4. verziójában .webp | center]] #include string.h>
- Indítson egyet.intfunkció. Így lehet a legkönnyebben megtanulni ezt a függvényt, mivel ez egész számot ad vissza, összehasonlítva a két karakterlánc hosszát.
[[Kép: Két karakterlánc összehasonlítása a C programozás 2. lépésében, 4. verzió, 4.webp | center]] #include stdio.h> [[Kép: Két karakterlánc összehasonlítása a C programozás 3. lépésében, 3. verzió, 3.webp | center]] #include string. h> int main () {}
- Döntse el, melyik két karakterláncot szeretné összehasonlítani. Ebben a példában két adatot hasonlítunk össze char húrok. A visszatérési értéket egész számként is meg kell határoznia.
[[Kép: Két karaktersorozat összehasonlítása a C programozás 4. lépése 4. verzió 4.webp | center]] #include stdio.h> [[Kép: Két karakterlánc összehasonlítása a C programozás 5. lépés 4. verziójában .webp | center]] #include string. h> int main () {char * str1 = "alma"; char * str2 = "narancs"; int ret;}
- Adja hozzá az összehasonlítás függvényt. Most, hogy két karakterláncot definiált, felveheti az összehasonlító függvényt. Megyünk strncmp () ezért meg kell győződnünk arról, hogy a mérendő karakterek száma a függvényen belül van-e beállítva.
[[Kép: Két karaktersorozat összehasonlítása a C programozás 6. lépése 4. verzió 4.webp | center]] #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "narancs"; int ret; ret = strncmp (str1, str2, 11); / * Összehasonlítja a két karakterláncot legfeljebb 11 karakter hosszúsággal * /}
- Használat.Ha másaz összehasonlítás elvégzéséhez. Most, hogy létrehoztuk a függvényt, használja Ha más hogy melyik karakterlánc hosszabb. strncmp () ad 0 ennek eredményeként, ha a húrok azonos hosszúságúak, akkor pozitív szám, ha str1 hosszabb, és negatív szám, ha str2 hosszabb.
#include stdio.h> #include string.h> int main () {char * str1 = "alma"; char * str2 = "narancs"; int ret; ret = strncmp (str1, str2, 11); if (ret> 0) {printf ("az str1 hosszabb"); } else if (ret 0) {printf ("az str2 hosszabb"); } else {printf ("A két karakterlánc megegyezik"); } return (0); }
Figyelmeztetések
- Ne feledje, hogy a visszatérési érték 0, ha a karakterláncok egyenlőek. Ez zavaró lehet, mert a 0 a FALSE értéke is.