12/05/2011, 03:43
|
| | Fecha de Ingreso: abril-2011 Ubicación: Distrito Federal
Mensajes: 112
Antigüedad: 13 años, 6 meses Puntos: 17 | |
Respuesta: Función propia para comparar cadenas en C void equals(char *a, char *b)
Tienes un error en el for ya que el contador debe empezar en 0 y llegar hasta el 9.
Otro comentarios: el z+=0 esta por demás, con manejar un != en la comparación queda mas corto.
Otra cosa: la convención de C es que las cadenas terminan en un nulo, lo que hay más allá no importa y se considera que tiene basura. Si no consideras eso casi siempre va a salir desigual tu comparación. Si en cualquiera de las dos cadenas llega un nulo la comparación termina.
Y una mas: Con encontrar una sola desigualdad se puede dar por terminada la comparación, no hay porqué seguir contando.
Bueno, una mas: dentro de equals haces un ciclo de 10, pero si consideras que la terminación de una cadena es un nulo, tu algoritmo quedaría perfecto para cualquier cantidad de caracteres.
Suerte! |