Invertir cadena de caracteres en C
Alguien me podria decir como invertir una cadena de caracteres en C ( no en C++). Consigo invertir la cadena pero delante de ella, me salen caracteres extraños.
Gracias de antemano
Gracias de antemano
Existe una funcion strrev(a), que invierte los caracteres de una cadena a, pero no estoy seguro que corresponda a C.
Puedes escribir tu propia funcion :
#include <string.h>
#include <stdio.h>
int main()
{
char *a = "esto es una cadena de caracteres.";
int len = strlen(a)-1;
puts(a);
for(int i = 0;i < len/2;i++)
{
char x = a[i];
a[i] = a[len-i];
a[len-i] = x;
}
puts(a);
return 0;
}
Puedes escribir tu propia funcion :
#include <string.h>
#include <stdio.h>
int main()
{
char *a = "esto es una cadena de caracteres.";
int len = strlen(a)-1;
puts(a);
for(int i = 0;i < len/2;i++)
{
char x = a[i];
a[i] = a[len-i];
a[len-i] = x;
}
puts(a);
return 0;
}
