Autor
|
Tema: Como procesa la maquina o el programa el valor de retorno?? (Leído 2,401 veces)
|
FKT
Desconectado
Mensajes: 221
|
Entiendo perfectamente que cada programa tiene que devolver un valor, o no, pero nunca he entendido porque, por ejemplo cuando retorna un 0 la función principal es para indicar que el programa se ha ejecutado sin ningún tipo de problemas, pero el nombre retornar me ha echo liarme y pensar que cuando el programa ha terminado de procesar todo el código el numero 0 en el caso de por ejemplo una función main() sin llamada del sistema operativo o de otro programa, se devuelve a la parte de int main(), creo que no me he explicado muy bien aunque no sé otra forma de explicar como lo pienso, dejare una imagen de lo que me ha echo pensar que hace el 0 en el retorno: Igual no tiene mucha lógica pero bueno si alguien me explica que hace el 0 o por donde "viaja". Gracias de antemano.
|
|
|
En línea
|
Solo hay 10 tipos de personas, las que saben binario y las que no.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Olvida eso de volver al principio de la función, no tiene que ver. Realmente, deberías olvidarte de la función main de momento, y seguir. http://v1.minidosis.org/C++/Subprogramas/Varias%20Funciones%201/¿Por donde viaja el retorno de una función? Lo de retorno no es más que una abstracción para simplificar la realidad. Y la realidad, que es lo que verás si llegas a programar ensamblador, es que "llamar a una función X, con unos parámetros A y B", es mover los parámetros A y B a registros de la CPU (o a la pila, según), y saltar a la dirección de la función.
Ahora veamos: cuando la función va a "devolver un valor", lo que hace es, generalmente, meter ese valor en un registro de la CPU. Una vez ahí guardado, retorna al punto desde el que fue llamado, y continúa por ahí. El retorno, estará guardado en el registro, y será utilizado por el programa de la manera que considere. Hasta te recomendaría que aprendieses ensamblador, puesto que es lo más básico y simple, y no hay nada "oculto". Todo es como es, y como tal lo ves.
|
|
|
En línea
|
|
|
|
FKT
Desconectado
Mensajes: 221
|
El chico de Minidosis creo que es de los únicos que me hace entender la programación de forma más fácil, así que gracias por el link que no lo tenía guardado. ¿Por donde viaja el retorno de una función? Hasta te recomendaría que aprendieses ensamblador, puesto que es lo más básico y simple, y no hay nada "oculto". Todo es como es, y como tal lo ves.
Tengo pensado estudiar ensamblador después de C y python, que es mejor que aprenda después de C?? Por cierto cuando lee: cin >> dia >> c >> mes >> c >> anyo;
El programa ya espera a que indiques el valor de esas variables es así?, sí es así en C que se hace con fgets()? Porque con scanf() no lo veo... Saludos.
|
|
« Última modificación: 9 Septiembre 2015, 11:37 am por FKT »
|
En línea
|
Solo hay 10 tipos de personas, las que saben binario y las que no.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
cin >> var; Lo único que hace es leer del flujo de entrada. Si lo que lee lo puede meter en la variable var, lo convierte y lo mete. Es como hacen scanf y otros. Cada uno tiene su utilidad. De todos modos, cin es C++, y hay más cosas escondidas detrás de la sintaxis cin >> a >> b >> c;
que no hace falta mencionar ahora.
|
|
|
En línea
|
|
|
|
FKT
Desconectado
Mensajes: 221
|
cin >> var; Lo único que hace es leer del flujo de entrada. Si lo que lee lo puede meter en la variable var, lo convierte y lo mete. Es como hacen scanf y otros. Cada uno tiene su utilidad. De todos modos, cin es C++, y hay más cosas escondidas detrás de la sintaxis cin >> a >> b >> c;
que no hace falta mencionar ahora. Entiendo... Pero esto es posible¿? scanf("%i %f %f %c",&numeroentero ,&flotante ,&flotante2 ,&nombre );
Saludos
|
|
|
En línea
|
Solo hay 10 tipos de personas, las que saben binario y las que no.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
%c es caracter. %s es para cadenas de caracteres. Y sí, es posible. Sinó, prueba.
|
|
|
En línea
|
|
|
|
FKT
Desconectado
Mensajes: 221
|
%c es caracter. %s es para cadenas de caracteres. Y sí, es posible. Sinó, prueba.
Comprobado, y si, es posible. Gracias
|
|
|
En línea
|
Solo hay 10 tipos de personas, las que saben binario y las que no.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
_warn_unused_return_ pide retorno de valor en funcion void
Programación C/C++
|
Thelord
|
7
|
4,991
|
9 Octubre 2010, 04:21 am
por Foxy Rider
|
|
|
[Duda] Valor de retorno main
Programación C/C++
|
apoeti
|
3
|
3,159
|
12 Septiembre 2012, 16:16 pm
por apoeti
|
|
|
valor de Retorno
Programación C/C++
|
<<<-Basura->>>
|
3
|
2,393
|
2 Enero 2014, 22:50 pm
por amchacon
|
|
|
Listas - ¿Cómo enfocaríais el valor de retorno de las búsquedas?
Programación C/C++
|
do-while
|
4
|
2,128
|
5 Enero 2017, 13:17 pm
por ivancea96
|
|
|
Ayuda funciones con retorno de valor en C
Programación C/C++
|
omegadei
|
2
|
1,591
|
21 Marzo 2018, 20:04 pm
por omegadei
|
|