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 quizá no sea la maneracorrecta.
Es bienvenido cualquier comentario.
(PD: encontré bastantes referencias de cómo pasarlo como parámetro más nada que me ayudase sobre su retorno...)