Hogyan lehet összehasonlítani két karakterláncot a C programozási nyelven

Szerző: William Ramirez
A Teremtés Dátuma: 18 Szeptember 2021
Frissítés Dátuma: 1 Július 2024
Anonim
Hogyan lehet összehasonlítani két karakterláncot a C programozási nyelven - Társadalom
Hogyan lehet összehasonlítani két karakterláncot a C programozási nyelven - Társadalom

Tartalom

A C kódban meglehetősen gyakori, hogy összehasonlítja a karakterláncok hosszát, hogy megtudja, melyik karakterlánc tartalmaz több karaktert. Ez hasznos az adatok rendezéséhez. A karakterláncok összehasonlításához speciális funkcióra van szükség - ne használja != vagy ==.

Lépések

  1. 1 A C programozási nyelv két funkciót tartalmaz, amelyekkel összehasonlíthatja a karakterláncok hosszát. Mindkét funkció megtalálható a könyvtárban karakterlánc.h>.
    • strcmp () - ez a függvény két karakterláncot hasonlít össze, és visszaadja a karakterek számának különbségét.
    • strncmp () - ez a funkció ugyanaz, mint strcmp () csakhogy az első n karakterek. Biztonságosabbnak tekinthető, mert elkerüli a túlcsordulási hibákat.
  2. 2 Indítsa el a programot a szükséges könyvtárakkal. Szüksége lesz könyvtárakra stdio.h> és karakterlánc.h>valamint az adott programhoz szükséges egyéb könyvtárak.

    #include stdio.h> #include string.h>

  3. 3 Enter funkció int. Két karakterlánc hosszának összehasonlításakor egész számot ad vissza.

    #include stdio.h> #include string.h> int main () {}

  4. 4 Határozza meg az összehasonlítani kívánt két karakterláncot. Példánkban hasonlítsunk össze két típusú karakterláncot char... Határozza meg a visszatérési értéket is egész számként.

    #include stdio.h> #include string.h> int main () {char * str1 = "alma"; char * str2 = "narancs"; int ret; }

  5. 5 Adjon meg összehasonlító függvényt. Példánkban a függvényt fogjuk használni strncmp ()... Ebben be kell állítania a mért karakterek számát.

    #include stdio.h> #include string.h> int main () {char * str1 = "alma"; char * str2 = "narancs"; int ret; ret = strncmp (str1, str2, 8); / * Két, legfeljebb 8 karakter hosszú karakterláncot hasonlít össze * /}

  6. 6 Írjon be egy feltételes utasítást Ha... Más. Meg kell mutatni, melyik sor hosszabb. Funkció strncmp () visszaadja a számot 0ha a karakterláncok hossza megegyezik, 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, 8); if (ret> 0) {printf ("str1 hosszabb"); } else if (ret 0) {printf ("str2 hosszabb"); } else {printf ("A sorok hossza egyenlő"); } return (0); }

Figyelmeztetések

  • Ne feledje, hogy ha a karakterláncok hossza egyenlő, akkor a 0 értéket adja vissza. Ez zavaró lehet, mert a 0 is HAMIS.