Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/05/2011, 11:30
AXLAV
 
Fecha de Ingreso: febrero-2011
Mensajes: 55
Antigüedad: 13 años, 9 meses
Puntos: 3
Respuesta: Función propia para comparar cadenas en C

Cita:
Iniciado por jevangelista Ver Mensaje
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!
Muchas gracias, hay solucione y ya funciona, pero como me comentas vos, el tema es que no se si existe una función que yo ponga for(i=0;i<a.length;i++)
entonces como puedo hacer que esa función se aplique a cualquier cantidad de caracteres ?.Osea, como quedaría el for ?.
Desde ya, muchas gracias en serio, entendí todo lo que me dijiste.