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: Ștergere Ubuntu Linux și instalare Windows 10 pe laptop! 2024, Aprilie
Anonim

Compararea lungimii șirurilor este o funcție obișnuită în programarea C, deoarece vă permite să vedeți ce șir conține mai multe caractere. Acest lucru este foarte util pentru sortarea datelor. Compararea șirurilor necesită o funcție specială; nu folosiți! = sau ==.

Pași

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

Pasul 1. Există două funcții care vă permit să comparați șirurile din C

Ambele funcții sunt incluse în bibliotecă.

  • strcmp () - Această funcție compară două șiruri și returnează diferența comparativă în numărul de caractere.
  • strncmp () - Acesta este același lucru cu strcmp (), cu excepția faptului că compară primele n caractere. Este considerat mai sigur, deoarece ajută la prevenirea revărsării accidentelor.
Comparați două șiruri în programarea C Pasul 2
Comparați două șiruri în programarea C Pasul 2

Pasul 2. Porniți programul cu bibliotecile necesare

Veți dori atât bibliotecile, cât și bibliotecile, împreună cu orice altele de care aveți nevoie pentru programul dvs. specific.

#include #include

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

Pasul 3. Porniți un

int funcţie.

Acesta este cel mai simplu mod de a învăța această funcție, deoarece va returna un număr întreg care compară lungimea celor 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

Pentru acest exemplu, vom compara două șiruri de caractere predefinite. De asemenea, veți dori să definiți valoarea returnată ca număr î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 funcția de comparație

Acum că aveți cele două șiruri definite, puteți adăuga funcția de comparație. Vom folosi strncmp (), deci trebuie să ne asigurăm că numărul de caractere care trebuie măsurat este setat în funcție.

#include #include int main () {char * str1 = "apple"; char * str2 = "portocaliu"; int ret; ret = strncmp (str1, str2, 6); / * Aceasta va compara cele două șiruri de până la 6 caractere * /}

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

Pasul 6. Folosiți un

Dacă … Altfel declarație pentru efectuarea comparației.

Acum că aveți funcția la locul său, puteți utiliza o instrucțiune If … Else pentru a afișa care șir este mai lung. strncmp () va returna 0 dacă șirurile au 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 = "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 ("Cele două șiruri sunt egale"); } return (0); }

Recomandat: