Buenas noches a todos, espero que estén bien.
tengo un problema con el codigo. Resulta que al ingresar una palabra de 3 caracteres se invierte con exito, pero cunado ingreso una de 4 o mas caracteres esta se invierte pero arroja otros caracteres que no corresponden.
ej. Ingrese una palabra: estadio
Palabra invertida: oidatseuÒLHı■ èjuestadio
se invierte la palabra(rojo), pero el resto esta de más...
Aqui les dejo el codigo
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i,k,tam=0;
char pal[20];
char inv[20];
printf("Ingrese una palabra:");
scanf("%s",pal);
for(i=0;i<21;i++)//TAMAÑO DE LA PALABRA
{
if(pal!=0)
tam++;
else
break;
}
for(k=0;k<=tam-1;k++)//INVERTIR LA PALABRA
{
inv[k]=pal[tam-1-k];
}
printf("Palabra invertida:%s",inv);
return 0;
}
A mi juicio el for para invertir esta bien, tendra un error o es el printf del final?
Gracias de antemano