Muy buenas!!
Mira, te dejo dos códigos, el primero es mas largo pero algo mas “entendible” que el segundo, te puse mas o menos la explicación para que lo puedas seguir…
Código PHP:
#include <stdio.h>
#include <conio.h>
#include <string.h>
void cat(char*);
void main()
{
char c1[26]; //declaro un array de char
printf("\nc1: ");
fflush(stdin); //fflush "limpia" el buffer
gets(c1); // o scanf("%s",&c1);
cat(c1);
puts(c1); //o tambien podes poner printf("\n%s",c1);
getch(); //este "para" el programa para que puedas ver la salida del puts
}
void cat(char*c1)
{
char*fin=c1,c; //guardo en fin la posicion de memoria de c1 => fin tiene lo mismo que c1
int cant=0,i;
for( ;*fin!='\0';fin++) //llevo la cadena hasta el final
cant++;
fin--; //retrocedo uno para no quedarme en el '\0'
cant--;
for(i=0;i<(cant/2);i++,c1++,fin--) //divido a cant por dos para que sea la mitad de la palabra
{
c=*c1; //guardo el primer caracter de c1, la primer letra
*c1=*fin; // " la ultima letra de la palabra al principio de c1
*fin=c; //y guardo la primera letra que habiamos guardado en c al final de la cadena
}
}
Y este es el otro que muuucho mas cortito, esta muy bueno! aunque puede resultar confuso...
Código PHP:
#include <conio.h>
#include <string.h>
#include <stdio.h>
void reves();
void main()
{
clrscr();
printf("Ingrese cadena: ");
reves();
getch();
}
void reves()
{
char a;
a=getchar();
if(a!='\n')
reves();
putchar(a);//o tambien printf("%c",a);
}
Bueno, espero q te sirva...
Besitos!!