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