// FUNCIONES RECURSIVAS #include <stdio.h> int factorial(int k) { if ( !k ) return 1; return k * factorial( k-1 ); } // muestra la cadena car a car void izq_der(char *cad) { if ( !cad[0] ) return; printf("%c ", cad[0]); izq_der( ++cad ); } // muestra la cadena invertida void der_izq(char *cad) { if ( !cad[0] ) return; der_izq( ++cad ); printf("%c ", cad[0-1]); } // cuenta la longitud de la cadena int longitud(char *cad) { if ( !cad[0] ) return 1; return 1 + longitud( ++cad ); } // muestra los últimos h caracteres void ultimosN(char *cad, int x) { if ( cad[0] == '\0' ) return; ultimosN(++cad, x); if ( longitud(cad) == x+1 ) izq_der(cad); } int main(int x, char **y) { printf("el 4!= %d\n", factorial(4)); izq_der("parangaricutirimicuaro"); printf("\n"); der_izq("parangaricutirimicuaro"); printf("\n"); ultimosN("parangaricutirimicuaro", 10); printf("\n"); }