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" );
}