Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/08/2008, 01:54
yackcae
 
Fecha de Ingreso: junio-2008
Mensajes: 63
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Comparar cadenas

Antes de pedir que se introduzca la cadena 2, debes quitar el carácter de nueva línea del buffer de entrada, podrías hacerlo así:

Código:
scanf("\n%[^\n]",cadena2);
Para más información, te pongo el URL a un post de otra persona que tenía un problema con el mismo caso:

http://www.forosdelweb.com/f96/problema-con-este-codigo-607350/

PD: Hay un detalle que le veo al código:

Código:
point1=(char*)malloc(sizeof(char));
point2=(char*)malloc(sizeof(char));

if (point1==NULL)
{printf("error");
return -1;}
if (point2==NULL)
{printf("erorr2");
return -2;}

point1=cadena1;
point2=cadena2;
No es necesario asignar memoria con malloc cuando vas a usar los apuntadores para apuntar a una variable ya existente, que es cuando asignas point1=cadena1 y point2=cadena2.

así la memoria que creaste con malloc la estás perdiendo, me explico con más detalle:

point1=(char*)malloc(sizeof(char)); // En este punto point1 pasa a apuntar a un sector de memoria asignado por medio de malloc.
point1=cadena1; // Ahora se cambia y point1 pasa a apuntar al sector de memoria donde está almacenado el contenido de cadena1.

Espero haberme explicado con claridad.