Hogyan lehet összehasonlítani két sor a programozási nyelv c

A C-ben írt szoftverkódokban gyakran hasonlítják össze a karakterlánc hosszát, hogy megtudja, melyik vonal több karaktert tartalmaz. Ez hasznos az adatok rendezéséhez. A húrok összehasonlításához különleges funkció szükséges - Ne használja != vagy ==.

Lépések

egy. A programozási nyelv két funkcióval rendelkezik, amellyel összehasonlíthatja a karakterlánc hosszát. Mindkét funkció szerepel a könyvtárban .
  • Strcmp () - Ez a funkció két vonalat hasonlítható össze, és visszaadja a különbséget a karakterek számában.
  • Strncmp () - Ez a funkció hasonló a funkcióhoz Strcmp () Kivéve, hogy az első összehasonlítás N Szimbólumok. Biztonságosabbnak tartják, mert elkerüli a túlcsordulások okozta kudarcokat.
  • 2. Indítsa el a programot a szükséges könyvtárakból. Szüksége lesz könyvtárakra és , valamint az egyedi programhoz szükséges egyéb könyvtárak.
    #Inlude [[Kép: hasonlítsa össze a két húrot a C programozási lépés 1 verzió 4.jpg | center]] # tartalmazza 
  • 3. Adjon meg egy funkciót Int. A két vonal hosszának összehasonlításának eredményeképpen ad vissza egész számot.
    [Image: Hasonlítsa össze a két húrot a C programozási lépésben 2. Version 4.jpg | center]] # tartalmazza [[Kép: hasonlítsa össze a két húrot C programozási lépés 3-as verzió 3.jpg | center]] # tartalmazza Int Main () {}
  • 4. Határozza meg a összehasonlítani kívánt két vonalat. Példánkban két sorot hasonlítunk össze a típusával Char. Határozza meg a visszatérési értéket egész számként.
    [[Kép: Hasonlítsa össze a két húrot a C programozási lépés 4 verzió 4.jpg | center]] # tartalmazza [[Kép: hasonlítsa össze a két húrot a C programozási lépés 5 verzió 4.jpg | center]] # tartalmazza Int Main () {char * str1 = "alma"-Char * str2 = "narancssárga"-Int ret-}
  • öt. Adja meg az összehasonlító funkciót. Példánkban a funkciót használjuk Strncmp (). Be kell állítania a mért karakterek számát.
    [[Kép: Hasonlítsa össze a két húrot a C programozási lépésben 6. Version 4.jpg | center]] # tartalmazza #Inlude Int Main () {char * str1 = "alma"-Char * str2 = "narancssárga"-INT RET-RET = STRNCMP (STR1, STR2, 8) - / * Két vonal összehasonlítása, amelynek hossza nem haladja meg a 8 karaktert * /}
  • 6. Adjon meg egy feltételes operátort Ha ... MÁS. Meg kell mutatni, hogy a karakterlánc hosszabb legyen. Funkció Strncmp () Visszaadja a számot 0, Ha a húrok azonosak, pozitív szám, ha az STR1 hosszabb, és negatív szám, ha az STR2 hosszabb.
    #Inlude #Inlude Int Main () {char * str1 = "alma"-Char * str2 = "narancssárga"-INT RET-RET = STRNCMP (STR1, STR2, 8) -HIF (RET> 0) {printf ("STR1 hosszabb") -} egyébként, ha (ret < 0){printf("str2 длиннее")-}else{printf("Длины строк равны")-}return(0)-}
  • Figyelmeztetések

    • Ne feledje, hogy ha a string hossza egyenlő, akkor a 0 érték visszatér. Megzavarhatja Önt, mert a 0 a FALSE (FALSE) értéke is.
    Hasonló publikációk