Cum se compară două șiruri în programarea C: 10 pași

Cuprins:

Cum se compară două șiruri în programarea C: 10 pași
Cum se compară două șiruri în programarea C: 10 pași

Video: Cum se compară două șiruri în programarea C: 10 pași

Video: Cum se compară două șiruri în programarea C: 10 pași
Video: 2 EASY ways to use DOSBOX to load old Programs & Games! (with CD-ROM support) 2024, Mai
Anonim

Compararea lungimilor șirurilor este o funcție frecvent utilizată în programarea C, deoarece vă poate spune care șir are mai multe caractere. Această funcție este foarte utilă în sortarea datelor. Compararea șirurilor necesită o funcție specială; nu folosiți! = sau ==.

Etapa

Comparați două șiruri în programarea C Pasul 1
Comparați două șiruri în programarea C Pasul 1

Pasul 1. Există 2 tipuri de funcții pe care le puteți utiliza pentru a compara șirurile în limbaj C

Ambele funcții sunt incluse în bibliotecă.

  • strcmp (): Această funcție compară două șiruri și returnează rezultatul comparării numărului de caractere dintre ele.
  • strncmp (): Această funcție este aceeași cu strcmp (), cu excepția faptului că compară primele n} caractere din șir. Această funcție este considerată mai sigură, deoarece împiedică blocarea programului din cauza supraîncărcării.
Comparați două șiruri în programarea C Pasul 2
Comparați două șiruri în programarea C Pasul 2

Pasul 2. Rulați programul cu bibliotecile de care aveți nevoie

Vă recomandăm să rulați și, împreună cu orice alte biblioteci de care aveți nevoie pentru un anumit program.

#include #include

Comparați două șiruri în programarea C Pasul 3
Comparați două șiruri în programarea C Pasul 3

Pasul 3. Rulați o funcție

int. Acesta este cel mai simplu mod de a învăța această funcție, deoarece returnează valoarea întreagă a unei comparații a numărului de caractere din două șiruri.

#include #include int main () {}

Comparați două șiruri în programarea C Pasul 4
Comparați două șiruri în programarea C Pasul 4

Pasul 4. Definiți cele două șiruri pe care doriți să le comparați

De exemplu, vom compara 2 șiruri de date de tip char care au fost definite anterior. De asemenea, puteți defini valoarea returnată de această funcție pentru a avea tipul de date întreg.

#include #include int main () {char * str1 = "apple"; char * str2 = "portocaliu"; int ret; }

Comparați două șiruri în programarea C Pasul 5
Comparați două șiruri în programarea C Pasul 5

Pasul 5. Adăugați o funcție de comparație

După ce ați definit aceste două șiruri, puteți adăuga o funcție de comparație. Vom folosi strncmp (), deci va trebui să ne asigurăm că numărul de caractere de măsurat este setat în funcție.

#include #include int main () {char * str1 = "apple"; char * str2 = "portocaliu"; int ret; ret = strncmp (str1, str2, 6); / * Această funcție va compara atât „șirul” de 6 caractere * /}

Comparați două șiruri în programarea C Pasul 6
Comparați două șiruri în programarea C Pasul 6

Pasul 6. Folosiți enunțuri

Dacă … Altfel să faci comparația. După ce adăugați o funcție la programul dvs., puteți utiliza o declarație pentru a afișa care șir are mai multe caractere. strncmp () va returna 0 dacă șirurile au același număr de caractere, un număr pozitiv dacă str1 este mai lung și un număr negativ dacă str2 este mai lung.

#include #include int main () {char * str1 = "apple"; char * str2 = "portocaliu"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 este mai lung"); } else if (ret <0) {printf ("str2 este mai lung"); } else {printf ("Ambele șiruri au aceeași lungime"); } return (0); }

Recomandat: