Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/05/2011, 03:43
jevangelista
 
Fecha de Ingreso: abril-2011
Ubicación: Distrito Federal
Mensajes: 112
Antigüedad: 13 años
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!