La idea es hace una funcion que capture un caracter con getche(), si este es '.' entonces retorna, sino se llama a si misma, imprime el caracter y retorna
De esa forma cuando se ingrese el . se va a ir saliendo de las funciones
Personalmente, no usaría conio.h, pero eso ya es decisión de cada uno.
no me reconoció la librería conio.h, ni tampoco la función getche sino getchar
por cierto el system("pause") tampoco me jaló
solo una duda, si char solo tiene límite de un 1byte, ¿por qué me recibe una cadena larga de hasta 20 caracteres?
[Es un char local a cada llamda de función. Mientras la función no retorne, ese valor sigue almacenado en la pila temporal de la función. Si quieres entenderlo más en profundidad, tendría que explicarte cómo se implementan las funciones C en ensamblador, pero para ello tienes que saber un poco de arquitectura de computadores. Si te interesa me dices y te lo cuento.
¿Lo que te refieres es qué el valor se guarda en el espacio almacenado para la función?
¿ ese espacio tiene límite?
por que está definido como void (sin retorno) y no como un tipo de dato del C?
void inversa (char car)
Claro que también aceptaría unas clasesitas de como se implementan las funciones C en padre ensamblador..
Cita de: "morfus_bedxhed"En IA32 (comúnmente llamada x86), el paso de argumentos a funciones se realiza a través de la pila. Esto es, se ponen en la pila los argumentos de la función en orden inverso a los declarados en C, usando la instrucción PUSH. En este caso, se pasa el char en la pila a inversa(). La función lo recupera con la instrucción POP.
En IA32 (comúnmente llamada x86), el paso de argumentos a funciones se realiza a través de la pila. Esto es, se ponen en la pila los argumentos de la función en orden inverso a los declarados en C, usando la instrucción PUSH. En este caso, se pasa el char en la pila a inversa(). La función lo recupera con la instrucción POP.