Cuando estamos dentro de una funcion y llamamos a otra que pasa en la ejecucion?
Ejemplo:
Código
Void sumar(){ // hace una cosa 1 // hace otra.cosa mas 2 MostrarMenuPrincipal(); // hace otra.cosa 3 // hace 4 Int valor; std::cout << "ingrese valor: "; Std::cin >> valor; Switch (valor){ case 1: Cout << "es uno "; Break; } } Void MostrarMenuPrincipal(){ // hace otras cosas 5 }
Que sucede?
1. Cuando se ejecuta la funcion sumar() va a llegar hasta la llamada a la funcion MostrarMenuPrincipal() y esperara a que esa funcion devuelva un valor o termine, por lo que la linea «hacer otra.cosa 3» no sera ejecutada al intante...
2. Cuando se ejecuta la funcion sumar() va a llegar hasta la llamada a la funcion MostrarMenuPrincipal() y al instante continuara paralelamente ejecutando ambas funciones....
Les pregunto esto ya que en un programa de practica que realice ayer me paso algo extraño, cuando la funcion que llamaba dentro de otra tenia un menu y una interaccion con el usuario mediante cin, la ejecucion de la funcion anterior (en este caso.sumar() ) no se ejecutaba mas quedaba bloqueada por la llamada a la nueva funcion, sin embargo, si esta nueva funcion no.tenia cin, la ejecutaba y luego volvia a la funcion anterior..