A karakterláncok összehasonlítása gyakori funkció a C programozásban, mivel lehetővé teszi, hogy megnézze, melyik karakterlánc tartalmaz több karaktert. Ez nagyon hasznos az adatok rendezéséhez. A karakterláncok összehasonlítása speciális funkciót igényel; ne használja! = vagy ==.
Lépések
1. lépés. Két funkció lehetővé teszi, hogy összehasonlítsa a C karakterláncokat
Mindkét funkció megtalálható a könyvtárban.
- strcmp () - Ez a függvény két karakterláncot hasonlít össze, és visszaadja a karakterek számának összehasonlító különbségét.
- strncmp () - Ez ugyanaz, mint az strcmp (), csak az első n karaktert hasonlítja össze. Biztonságosabbnak tekinthető, mivel segít megelőzni a balesetek túlcsordulását.
2. lépés: Indítsa el a programot a szükséges könyvtárakkal
Szüksége lesz mind a könyvtárakra, mind a másokra, amelyekre szüksége lehet az adott programhoz.
#befoglalni #befoglalni
3. lépés. Indítsa el a
int funkció.
Ez a legegyszerűbb módja ennek a funkciónak a megtanulására, mivel egy egész számot ad vissza, amely összehasonlítja a két karakterlánc hosszát.
#include #include int main () {}
4. lépés. Határozza meg az összehasonlítani kívánt két karakterláncot
Ebben a példában két előre meghatározott karakterláncot fogunk összehasonlítani. A visszatérési értéket egészként is meg kell határozni.
#include #include int main () {char *str1 = "alma"; char *str2 = "narancs"; int ret; }
5. lépés. Adja hozzá az összehasonlító funkciót
Most, hogy megadta a két karakterláncot, hozzáadhatja az összehasonlító funkciót. Az strncmp () függvényt fogjuk használni, ezért gondoskodnunk kell arról, hogy a függvényben be kell állítani a mérendő karakterek számát.
#include #include int main () {char *str1 = "alma"; char *str2 = "narancs"; int ret; ret = strncmp (str1, str2, 6); / *Ez összehasonlítja a két legfeljebb 6 karakter hosszú karakterláncot */}
6. lépés. Használja a
Ha más nyilatkozat az összehasonlítás elvégzéséhez.
Most, hogy a funkció helyén van, az If… Else utasítással megjelenítheti, hogy melyik karakterlánc hosszabb. Az strncmp () 0 -t ad vissza, ha a karakterláncok azonos hosszúságúak, pozitív számot, ha az str1 nagyobb, és negatív számot, ha az str2 nagyobb.
#include #include int main () {char *str1 = "alma"; char *str2 = "narancs"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 hosszabb"); } else if (ret <0) {printf ("str2 hosszabb"); } else {printf ("A két karakterlánc egyenlő"); } return (0); }