
Para pruebas creé el siguiente código:
Código:
La función invierte() es la que debe devolver el arreglo y asignarlo a la variable invertida.#include <stdio.h> char invierte(char arreglo[8]); /* Función que invierte el orden de un arreglo */ int main(void) { char original[8]= "Arreglo"; /* Arreglo original */ char invertida[8]; /* Arreglo donde se asignará lo devuelto por la función */ *invertida= invierte(original); /* Llamada de la función */ printf("Resultado: %s", invertida); /* Imprimir el resultado [Solo imprime 'o'] */ return 0; } char invierte(char entrada[8]) { int i, j=6; char salida[8]; /* Almacena el arreglo invertido */ for(i=0; i<7; i++) { salida[i]= entrada[j]; /* Invertiendo el órden */ j--; } salida[i]= '\0'; printf("Prueba: %s \n", salida); /* Función correcta */ return *salida; /* Devolvemos el arreglo resultante */ }
El código lo dejo a cómo conseguí mejores resultados después de varios intentos... actualmente la variable inversa resullta con el primer elemento del arreglo salida... solo como dato

Es bienvenido cualquier comentario.

(PD: encontré bastantes referencias de cómo pasarlo como parámetro más nada que me ayudase sobre su retorno...)