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

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.

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

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 () {}

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; }

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 * /}

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); }