Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/12/2007, 12:24
mawster
 
Fecha de Ingreso: noviembre-2004
Mensajes: 149
Antigüedad: 19 años, 6 meses
Puntos: 0
leer una cadena de caracteres.

Hola!
estab haciendo un ejercicio y no me ha salida asi que he mirado la solucion
me gustaria saber si lo he entendido bien:
Código:
#include <stdio.h>

#define MAX 20

void main()
{
   char C1[MAX],C2[MAX];
   int i;

   printf( "\nIntroduzca la primera palabra y pulse enter:\n" );
   gets( C1 );
   printf( "\nIntroduzca la segunda palabra y pulse enter:\n" );
   gets( C2 );

   i=0;
   while ((C1[i]==C2[i]) && (C1[i]!='\0') && (C2[i]!='\0'))
      i++;
   if((C1[i]=='\0') && (C2[i]=='\0'))
      printf( "Son iguales\n" );
   else
      printf( "Son diferentes" );
}
aqui lee las cadenas introdcidas por el usuario.La funcion gets(C1), haria la mismo que scanf("%s",&C1[i]);?.
Código:
 printf( "\nIntroduzca la primera palabra y pulse enter:\n" );
   gets( C1 );
   printf( "\nIntroduzca la segunda palabra y pulse enter:\n" );
   gets( C2 );

   i=0;
aqui compara las letras de cada cadena empezando por la posicion 0 hasta la final incrimentando la i cada vez,hasta que llega a la ultima posocion de la cadena que sera 0.
Código:
while ((C1[i]==C2[i]) && (C1[i]!='\0') && (C2[i]!='\0'))
      i++;
y finalmente aqui mira que las cadenas acaben en la misma posicion de i.Si es asi son iguales y sino diferente s no? No se deberia hacer con i y j, y no solo con i ya que no son el mismo vector
Código:
if((C1[i]=='\0') && (C2[i]=='\0'))
      printf( "Son iguales\n" );
   else
      printf( "Son diferentes" );
}
__________________
¨`~*'¤^v-¥-()->»[: "3£ 1NƒîêRNø Nø ê$ UN Må£ £UGåR" :]«<-()-¥-v^¤'*~´¨

Última edición por mawster; 08/12/2007 a las 09:35