Com es comparen dues cadenes en el llenguatge de programació C.

Autora: William Ramirez
Data De La Creació: 18 Setembre 2021
Data D’Actualització: 1 Juliol 2024
Anonim
Com es comparen dues cadenes en el llenguatge de programació C. - Societat
Com es comparen dues cadenes en el llenguatge de programació C. - Societat

Content

En el codi C és bastant comú comparar la longitud de les cadenes per esbrinar quina cadena conté més caràcters. Això és útil per ordenar les dades. Es necessita una funció especial per comparar cadenes: no l'utilitzeu != o bé ==.

Passos

  1. 1 El llenguatge de programació C inclou dues funcions que podeu utilitzar per comparar la longitud de les cadenes. Ambdues funcions s’inclouen a la biblioteca string.h>.
    • strcmp () - aquesta funció compara dues cadenes i retorna la diferència en el nombre de caràcters.
    • strncmp () - aquesta funció és la mateixa que strcmp () excepte que el primer n personatges. Es considera més segur perquè evita fallades de desbordament.
  2. 2 Inicieu el programa amb les biblioteques necessàries. Necessitareu biblioteques stdio.h> i string.h>així com qualsevol altra biblioteca necessària per al vostre programa específic.

    #include stdio.h> #include string.h>

  3. 3 Introduïu la funció int. Retorna un nombre enter com a resultat de comparar la longitud de dues cadenes.

    #include stdio.h> #include string.h> int main () {}

  4. 4 Identifiqueu les dues cadenes que voleu comparar. En el nostre exemple, comparem dues cadenes de tipus char... Definiu també el valor de retorn com a enter.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "taronja"; int ret; }

  5. 5 Introduïu una funció de comparació. En el nostre exemple, utilitzarem la funció strncmp ()... En ell, cal establir el nombre de caràcters mesurats.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "taronja"; int ret; ret = strncmp (str1, str2, 8); / * Compara dues cadenes de fins a 8 caràcters * /}

  6. 6 Introduïu una sentència condicional Si... Altrament. Cal mostrar quina línia és més llarga. Funció strncmp () retornarà el número 0si les longituds de les cordes són les mateixes, un nombre positiu si str1 és més llarg i un nombre negatiu si str2 és més llarg.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "taronja"; int ret; ret = strncmp (str1, str2, 8); if (ret> 0) {printf ("str1 és més llarg"); } else if (ret 0) {printf ("str2 és més llarg"); } else {printf ("Les longituds de línia són iguals"); } retorn (0); }

Advertiments

  • Recordeu que si les longituds de les cadenes són iguals, es retornarà el valor 0. Això pot ser confús perquè 0 també és FALS.