Hasonlítson össze két karakterláncot a C programozási nyelvben.

Szerző: Judy Howell
A Teremtés Dátuma: 27 Július 2021
Frissítés Dátuma: 10 Lehet 2024
Anonim
Hasonlítson össze két karakterláncot a C programozási nyelvben. - Tanácsok
Hasonlítson össze két karakterláncot a C programozási nyelvben. - Tanácsok

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

  1. 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.
  2. 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>

  3. 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 () {}

  4. 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;}

  5. 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 * /}

  6. 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.