/*
Lo que te hiso falta fue utilizar el metodo para intercambiar valores entre dos variables
sin perder ninguno de los dos, lo que hace es almacenar el valor de una de las variables en una variable temporal.
Normalmente esto se ve en temas de Ordenamiento de Vectores y cosas asi.
Ejemplo:
temp = v[0];
v[0] = v[4];
v[4] = temp;
Bueno si lo que se quiere es invertir la cadena que la vamos a tratar como un vector, analisando
que el problema vemos que el primer elemento corresponde con el ultimo algo asi:
cadena = "abcde";
|-----------|
| |----| |
[a][b][c][d][e]
Intercambiando quedaria asi
|-----------|
| |----| |
[e][d][c][b][a]
Podemos ver que nada mas tenemos que hacer dos veces el procesos de intercambiar los valores.
el a con e y el de b con d, puesto que c esta en el centro no hay que hacerlo.
Observando esto determinamos que para invertir la cadena tenemos que hacer (n / 2) veces
el intercambio, donde n es la longitud de la cadena.
*/
#include <stdio.h>
#include <string.h>
#define N 100
void main()
{
char cadena[N];
int i, mitad, lon=0;
char *cad = NULL, temp;
cad = cadena;
mitad = lon / 2;
for( i=0; i < mitad; i++)
{
temp = *(cad+i);
*(cad+i) = *(cad+lon-1-i);
*(cad+lon-1-i) = temp;
}
}