Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/04/2016, 17:17
IVICP3
 
Fecha de Ingreso: febrero-2015
Mensajes: 61
Antigüedad: 9 años, 10 meses
Puntos: 0
Duda en pequeño ejercicio

Tengo un ejercicio que le paso una cadena y me la edita a capicua, un ejemplo:

Le paso la palabra jamón, pues me saldria jamonnomaj.



Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. void main(){
  5.     char cadena[20];
  6.     int i, x, cont=0, pepe=0;
  7.  
  8.     printf("Introduce una palabra: ");
  9.     gets(cadena);
  10.  
  11.     for(i=0;pepe!=5;i++){
  12.         cont=i;
  13.         if(cadena[i]==NULL){
  14.             for(x=cont;x!=0;x--,i++){
  15.                 cadena[i]=cadena[x-1];
  16.                 pepe=5;
  17.             }
  18.         }
  19.     }
  20.  
  21.     printf("CADENA %s", cadena);
  22.  
  23.  
  24.  
  25.     fflush(stdin);
  26.     getchar();
  27.  
  28.  
  29.  
  30. }



No sabia como salir del primer for, he puesto eso de pepe. Esta bien?

Porque si que me sale, pero el resultado del programa no es jamonnomja, es jamonnomja con signos raros. Me hace el capicua bien, pero las celdas restantes del char me salen rellenadas con signos.

Que esta mal?


Un saludo.