La comparació de longituds de cadena és una funció que s’utilitza habitualment a la programació en C, perquè us pot dir quina cadena té més caràcters. Aquesta funció és molt útil per ordenar les dades. La comparació de cadenes requereix una funció especial; no utilitzeu! = o ==.
Pas
![Compareu dues cadenes de la programació en C Pas 1 Compareu dues cadenes de la programació en C Pas 1](https://i.how-what-advice.com/images/002/image-5916-1-j.webp)
Pas 1. Hi ha 2 tipus de funcions que podeu utilitzar per comparar cadenes en llenguatge C
Ambdues funcions s’inclouen a la biblioteca.
- strcmp (): aquesta funció compara dues cadenes i retorna el resultat de comparar el nombre de caràcters entre elles.
- strncmp (): aquesta funció és la mateixa que strcmp (), tret que compara els primers n} caràcters de la cadena. Aquesta funció es considera més segura perquè impedeix que el programa s’aturés a causa de la sobrecàrrega.
![Compareu dues cadenes al pas 2 de la programació C Compareu dues cadenes al pas 2 de la programació C](https://i.how-what-advice.com/images/002/image-5916-2-j.webp)
Pas 2. Executeu el programa amb les biblioteques que necessiteu
Us recomanem que executeu i, juntament amb qualsevol altra biblioteca que necessiteu per a un programa concret.
#include #include
![Compareu dues cadenes al pas 3 de la programació C Compareu dues cadenes al pas 3 de la programació C](https://i.how-what-advice.com/images/002/image-5916-3-j.webp)
Pas 3. Executeu una funció
int. Aquesta és la manera més senzilla d'aprendre aquesta funció, perquè retorna el valor enter d'una comparació del nombre de caràcters de dues cadenes.
#include #include int main () {}
![Compareu dues cadenes al pas 4 de la programació C Compareu dues cadenes al pas 4 de la programació C](https://i.how-what-advice.com/images/002/image-5916-4-j.webp)
Pas 4. Definiu les dues cadenes que voleu comparar
Per exemple, compararem 2 cadenes de dades de tipus char que s'han definit anteriorment. També podeu definir el valor que retorna aquesta funció per tenir el tipus de dades enter.
#include #include int main () {char * str1 = "apple"; char * str2 = "taronja"; int ret; }
![Compareu dues cadenes de la programació en C pas 5 Compareu dues cadenes de la programació en C pas 5](https://i.how-what-advice.com/images/002/image-5916-5-j.webp)
Pas 5. Afegiu una funció de comparació
Un cop definides aquestes dues cadenes, podeu afegir una funció de comparació. Utilitzarem strncmp (), de manera que haurem d’assegurar-nos que el nombre de caràcters a mesurar estigui configurat a la funció.
#include #include int main () {char * str1 = "apple"; char * str2 = "taronja"; int ret; ret = strncmp (str1, str2, 6); / * Aquesta funció compararà tant la "cadena" de 6 caràcters * /}
![Compareu dues cadenes de la programació en C pas 6 Compareu dues cadenes de la programació en C pas 6](https://i.how-what-advice.com/images/002/image-5916-6-j.webp)
Pas 6. Utilitzeu declaracions
Si … sinó per fer la comparació. Després d'afegir una funció al programa, podeu utilitzar una sentència per mostrar quina cadena té més caràcters. strncmp () retornarà 0 si les cadenes tenen el mateix nombre de caràcters, un nombre positiu si str1 és més llarg i un número negatiu si str2 és més llarg.
#include #include int main () {char * str1 = "apple"; char * str2 = "taronja"; int ret; ret = strncmp (str1, str2, 6); if (ret> 0) {printf ("str1 és més llarg"); } else if (ret <0) {printf ("str2 és més llarg"); } else {printf ("Les dues cadenes tenen la mateixa longitud"); } retorn (0); }