Când programați în C, comparați două șiruri de caractere

Compararea lungimii unui șir este o caracteristică comună atunci când programați în C, deoarece puteți vedea care șir conține mai multe caractere. Acest lucru este foarte util pentru sortarea datelor. Compararea șirurilor nu necesită o funcție specială !=

sau ==.

metodă

1
Există două funcții pe care le puteți compara cu caractere C. Ambele sunt incluse în bibliotecă.
  • strcmp () - Această funcție compară două șiruri și returnează diferența comparativă a numărului de caractere.
  • strncmp () - Acest lucru este la fel ca strcmp (), cu excepția primului n Caracterele sunt comparate. Este considerat mai sigur, deoarece ajută la prevenirea accidentelor cauzate de un exces.
  • 2
    Porniți programul cu bibliotecile necesare. Tu devii bibliotecile și vrei și toate celelalte de care ai nevoie pentru programul tău special.
    #include [[Imagine: Comparați două șiruri în programarea C Pasul 1 Versiunea 3.jpg | center]] #include 
  • 3
    Începeți una.int Funcția. Acesta este cel mai simplu mod de a învăța această funcție, deoarece returnează un întreg care compară lungimea celor două șiruri de caractere.
    [[Image: Compară două șiruri în programare C Etapa 2 Version 3.jpg | center]] #include [[Imagine: Compară două șiruri în programare C Etapa 3 Version 2.jpg | center]] #include int main () {}
  • 4


    Definiți cele două șiruri pe care doriți să le comparați. În acest exemplu, comparăm două dintre cele predefinite mangal Strings. De asemenea, trebuie să definiți valoarea returnată ca număr întreg.
    [[Image: Compară două șiruri în programare C Etapa 4 3.jpg Version | center]] #include [[Imagine: Compară două șiruri în programare C Etapa 5 Version 3.jpg | center]] #include int main () {char * str1 = "măr" -char * str2 = "portocaliu" -intrare-}
  • 5
    Adăugați funcția pentru comparație. Acum că ați definit cele două șiruri, puteți introduce funcția pentru comparație. Vom face strncmp () prin urmare, trebuie să ne asigurăm că numărul de caractere de comparat este specificat în funcție.
    [[Imagine: Compară două șiruri în programare C Etapa 6 Versiunea 3.jpg | center]] #include #include int main () {char * str1 = "mar" -char * str2 = "Orange" -int ret ret = strncmp (str1, str2, 6) - / * Aceasta compară cele două șiruri până la o lungime de șase caractere * /}
  • 6
    Utilizați unul.Dacă ... Else Declarație pentru a face comparația. Acum că aveți funcția în loc, puteți Dacă ... Else Utilizați instrucțiunea pentru a indica ce șir este mai lung. strncmp () sunt 0 înapoi dacă șirul are aceeași lungime, un număr pozitiv dacă str1 este mai mare și un număr negativ dacă str2 este mai mare.
    #include #include int main () {char * str1 = "mar" -char * str2 = "Orange" -int ret ret = strncmp (str1, str2, 6) -daca (r> 0) {printf ( „str1 este mai lungă ") -} altceva dacă (ret < 0) {printf ("str2 este mai lung") -} altceva {printf ("Cele două șiruri au aceeași lungime") -} return (0) -}
  • avertismente

    • Amintiți-vă că valoarea returnată este 0 dacă șirurile sunt de aceeași lungime. Acest lucru vă poate deruta, deoarece valoarea 0 este și valoarea FALSE.
    Distribuiți pe rețelele sociale:

    înrudit