elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Como procesa la maquina o el programa el valor de retorno??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como procesa la maquina o el programa el valor de retorno??  (Leído 2,399 veces)
FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Como procesa la maquina o el programa el valor de retorno??
« en: 8 Septiembre 2015, 22:46 pm »

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 Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Como procesa la maquina o el programa el valor de retorno??
« Respuesta #1 en: 9 Septiembre 2015, 00:16 am »

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?
Citar
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 Desconectado

Mensajes: 221



Ver Perfil
Re: Como procesa la maquina o el programa el valor de retorno??
« Respuesta #2 en: 9 Septiembre 2015, 11:34 am »

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/



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:
Código
  1. 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 Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Como procesa la maquina o el programa el valor de retorno??
« Respuesta #3 en: 9 Septiembre 2015, 15:40 pm »

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
Código
  1. cin >> a >> b >> c;
que no hace falta mencionar ahora.
En línea

FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: Como procesa la maquina o el programa el valor de retorno??
« Respuesta #4 en: 9 Septiembre 2015, 15:49 pm »

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
Código
  1. cin >> a >> b >> c;
que no hace falta mencionar ahora.

Entiendo... Pero esto es posible¿?

Código
  1. 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 Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Como procesa la maquina o el programa el valor de retorno??
« Respuesta #5 en: 9 Septiembre 2015, 16:14 pm »

%c es caracter. %s es para cadenas de caracteres.
Y sí, es posible. Sinó, prueba.
En línea

FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: Como procesa la maquina o el programa el valor de retorno??
« Respuesta #6 en: 9 Septiembre 2015, 16:43 pm »

%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.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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,990 Último mensaje 9 Octubre 2010, 04:21 am
por Foxy Rider
[Duda] Valor de retorno main
Programación C/C++
apoeti 3 3,159 Último mensaje 12 Septiembre 2012, 16:16 pm
por apoeti
valor de Retorno
Programación C/C++
<<<-Basura->>> 3 2,393 Último mensaje 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 Último mensaje 5 Enero 2017, 13:17 pm
por ivancea96
Ayuda funciones con retorno de valor en C
Programación C/C++
omegadei 2 1,591 Último mensaje 21 Marzo 2018, 20:04 pm
por omegadei
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines