Cómo comparar dos cadenas en el lenguaje de programación C

Autor: William Ramirez
Fecha De Creación: 18 Septiembre 2021
Fecha De Actualización: 1 Mes De Julio 2024
Anonim
Intercambiar valores de dos variables | PSeint
Video: Intercambiar valores de dos variables | PSeint

Contenido

Es bastante común en el código C comparar longitudes de cadenas para averiguar qué cadena contiene más caracteres. Esto es útil para ordenar datos. Se necesita una función especial para comparar cadenas; no usar != o ==.

Pasos

  1. 1 El lenguaje de programación C incluye dos funciones que puede utilizar para comparar longitudes de cadenas. Ambas funciones están incluidas en la biblioteca. string.h>.
    • strcmp () : esta función compara dos cadenas y devuelve la diferencia en el número de caracteres.
    • strncmp () - esta función es la misma que strcmp () excepto que el primero norte caracteres. Se considera más seguro porque evita fallas por desbordamiento.
  2. 2 Inicie el programa con las bibliotecas necesarias. Necesitarás bibliotecas stdio.h> y string.h>así como cualquier otra biblioteca requerida para su programa específico.

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

  3. 3 Entrar en función En t. Devuelve un número entero como resultado de comparar la longitud de dos cadenas.

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

  4. 4 Identifica las dos cadenas que deseas comparar. En nuestro ejemplo, comparemos dos cadenas de tipo carbonizarse... También defina el valor de retorno como un número entero.

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

  5. 5 Ingrese una función de comparación. En nuestro ejemplo, usaremos la función strncmp ()... En él, debe establecer el número de caracteres medidos.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "naranja"; int ret; ret = strncmp (str1, str2, 8); / * Compara dos cadenas de hasta 8 caracteres * /}

  6. 6 Ingrese una declaración condicional Si... Demás. Es necesario para mostrar qué línea es más larga. Función strncmp () devolverá el número 0si las longitudes de las cadenas son iguales, un número positivo si str1 es más largo y un número negativo si str2 es más largo.

    #include stdio.h> #include string.h> int main () {char * str1 = "apple"; char * str2 = "naranja"; int ret; ret = strncmp (str1, str2, 8); if (ret> 0) {printf ("str1 es más largo"); } else if (ret 0) {printf ("str2 es más largo"); } else {printf ("Las longitudes de las líneas son iguales"); } retorno (0); }

Advertencias

  • Recuerde que si las longitudes de las cadenas son iguales, se devolverá el valor 0. Esto puede resultar confuso porque 0 también es FALSO.