Título: (Consulta) Duda sobre funcionamiento de la Funcion strcmp Publicado por: palacio29 en 27 Agosto 2016, 19:20 pm Hola
Esta funcion devuelve 0 si las cadenas de texto son iguales (incluyendo mayúsculas y minúsculas); si la primera cadena es mayor que la segunda, devuelve un número positivo; si es mayor la segunda, devuelve un valor negativo.. Supongamos que tengo los siguientes arreglos: char s1[5] = "Abeja"; char s2[5] = "Azul"; Mi duda es como se analiza cual es mayor o menor. No entiendo como la funcion va recorriendo cada uno de los arreglos y decidir cual es mayor o menor. La primera letra de ambos arreglos es la "A", luego ahi cambian de letra. Como puedo pensar logicamente a esta funcion?....Va recorriendo letra x letra o que?...Y cuando dice mayor o menor se refiere al numero ascii de cada letra? Título: Re: (Consulta) Duda sobre funcionamiento de la Funcion strcmp Publicado por: AlbertoBSD en 27 Agosto 2016, 19:39 pm Asi es el ASCII de cada letra compara posicion por posicion mientras sean iguales y con la primera diferencia devuelve -1 o +1 dependiendo si es menor o mayor el simbolo en cuestion.
Saludos Título: Re: (Consulta) Duda sobre funcionamiento de la Funcion strcmp Publicado por: palacio29 en 27 Agosto 2016, 19:40 pm Asi es el ASCII de cada letra compara posicion por posicion mientras sean iguales y con la primera diferencia devuelve -1 o +1 dependiendo si es menor o mayor el simbolo en cuestion. Saludos Osea que si encuentra la primera diferencia ya termina el funciomamiento de la funcion? Título: Re: (Consulta) Duda sobre funcionamiento de la Funcion strcmp Publicado por: AlbertoBSD en 27 Agosto 2016, 21:51 pm Asi es.
Suponiendo que tenemos: Código
devulve: Código: La funcion devolvio -1 Y en ambos casos solo comparara la primera letra y se detiene ahi por que son diferentes. como A< B devuelve -1 y como C> B devuelve 1 Título: Re: (Consulta) Duda sobre funcionamiento de la Funcion strcmp Publicado por: do-while en 28 Agosto 2016, 09:14 am ¡Buenas!
Solo voy a añadir algún dato a lo ya dicho. Los caracteres, como valores representados en un ordenador, no dejan de ser números enteros, y como números tienen su orden. Puedes verlos con el siguiente código: Código
Ahora que sabes el orden de cada caracter (si has ejecutado el bucle anterior en un programa, claro) sabrás cual es el orden alfabético de cada caracter de la tabla ASCII, y lo que hace strcmp es decirte cual es el orden alfabético de una cadena con respecto a otra utilizando estos valores. Siempre puedes hacerte una función propia para ver cómo funciona strcmp. Aquí te dejo un ejemplo: Código
|