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](https://i.how-what-advice.com/images/002/image-5916-1-j.webp)
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](https://i.how-what-advice.com/images/002/image-5916-2-j.webp)
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](https://i.how-what-advice.com/images/002/image-5916-3-j.webp)
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](https://i.how-what-advice.com/images/002/image-5916-4-j.webp)
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](https://i.how-what-advice.com/images/002/image-5916-5-j.webp)
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](https://i.how-what-advice.com/images/002/image-5916-6-j.webp)
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); }