hola!
los titulos de los temas deben ser descriptivos al problema
por otro lado, lo que haces tiene por lo minimo 2 errores...
primera aclaratoria: pal1 y pal2 son punteros a las direcciones de memoria donde están alojados sus 20 elementos
segundo if(pal1 = pal2) es un error ya que lo que haces es asignarle a pal1 el contenido de pal2, nunca fue comparado, para comparar debería ser
if(pal1==pal2)
y ccomo ya indiqué ellos son punteros a memoria, es decir, ellos contienen un numero donde está alojado eso, por lo tanto siempre será diferente, aquí vamos a el siguiente error
tercero, para comparar arreglos en c, existe la gran diferencia que no puedes intentar compararlos directamente, tienes varios metodos, el mas "rustico" sería comparar sus elementos directamente
int posicion;
for(posicion = 0;posicion<20; posicion++){
if(pal1[posicion]!=pal1[posicion]){
break;
}
}
if(posicion<20){
print("las palabras no son iguales");
}else{
printf("las palabras son iguales")
}
que hace este codigo?
en un ciclo (for) intenta recorrer los arreglos hasta el final (<20), sin embargo, si hay una diferencia ( != )en alguno de sus elementos el ciclo se rompe (break), luego revisamos hasta donde avanzó el ciclo, si avanzó hasta menos de donde debia, quiere decir que fue roto
otra solución más simple es usar la librería string.h y la función strcmp (string compare)
#include <string.h>
// todo el codigo... hasta el gets
printf("las palabras son iguales"); }else{
printf("las palabras no son iguales"); }
espero te sirva
te recomiendo intentar leer tutoriales de progrmación en c antes de intentar crear algo, ya que C no es el más simple de los lenguajes, aunque es muy versatil y potente