Si të krahasojmë dy vargje në gjuhën e programimit C

Autor: William Ramirez
Data E Krijimit: 18 Shtator 2021
Datën E Azhurnimit: 1 Korrik 2024
Anonim
Si të krahasojmë dy vargje në gjuhën e programimit C - Shoqëri
Si të krahasojmë dy vargje në gjuhën e programimit C - Shoqëri

Përmbajtje

Codeshtë mjaft e zakonshme në kodin C të krahasosh gjatësinë e vargut për të gjetur se cili varg përmban më shumë karaktere. Kjo është e dobishme për renditjen e të dhënave. Një funksion i veçantë është i nevojshëm për të krahasuar vargjet - mos përdorni != ose ==.

Hapa

  1. 1 Gjuha e programimit C përfshin dy funksione që mund t'i përdorni për të krahasuar gjatësinë e vargut. Të dyja këto funksione përfshihen në bibliotekë string.h>.
    • strcmp () - ky funksion krahason dy vargje dhe kthen ndryshimin në numrin e karaktereve.
    • strncmp () - ky funksion është i njëjtë me strcmp () përveç se e para n personazhet. Konsiderohet më e sigurt sepse shmang dështimet e tejmbushjes.
  2. 2 Filloni programin me bibliotekat e kërkuara. Ju do të keni nevojë për biblioteka stdio.h> dhe string.h>si dhe çdo bibliotekë tjetër që kërkohet për programin tuaj specifik.

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

  3. 3 Fut funksionin int. Kthen një numër të plotë si rezultat i krahasimit të gjatësisë së dy vargjeve.

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

  4. 4 Identifikoni dy vargjet që dëshironi të krahasoni. Në shembullin tonë, le të krahasojmë dy vargje të tipit karbon... Gjithashtu përcaktoni vlerën e kthimit si një numër i plotë.

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

  5. 5 Futni një funksion krahasimi. Në shembullin tonë, ne do të përdorim funksionin strncmp ()... Në të ju duhet të vendosni numrin e karaktereve të matura.

    #include stdio.h> #include string.h> int main () {char * str1 = "mollë"; char * str2 = "portokalli"; int ret; ret = strncmp (str1, str2, 8); / * Krahason dy vargje deri në 8 karaktere të gjata * /}

  6. 6 Vendosni një deklaratë të kushtëzuar Nëse.. Tjetër. Neededshtë e nevojshme për të treguar se cila linjë është më e gjatë. Funksioni strncmp () do të kthejë numrin 0nëse gjatësitë e vargjeve janë të njëjta, një numër pozitiv nëse str1 është më i gjatë dhe një numër negativ nëse str2 është më i gjatë.

    #include stdio.h> #include string.h> int main () {char * str1 = "mollë"; char * str2 = "portokalli"; int ret; ret = strncmp (str1, str2, 8); if (ret> 0) {printf ("str1 është më e gjatë"); } else if (ret 0) {printf ("str2 është më e gjatë"); } else {printf ("Gjatësitë e rreshtave janë të barabarta"); } kthimi (0); }

Paralajmërimet

  • Mos harroni se nëse gjatësitë e vargjeve janë të barabarta, vlera 0. do të kthehet. Kjo mund të jetë konfuze sepse 0 është gjithashtu FALSE.