Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Return dentro de while

Estas en el tema de Return dentro de while en el foro de C/C++ en Foros del Web. Ejecutando este código: Código: void Act::actu() { while (condicion) { // hacer algo if (otra_condicion) { actu(); return; } } } Me pasa algo muy ...
  #1 (permalink)  
Antiguo 26/10/2009, 03:58
 
Fecha de Ingreso: abril-2009
Mensajes: 9
Antigüedad: 15 años, 7 meses
Puntos: 0
Return dentro de while

Ejecutando este código:

Código:
void Act::actu() {
	while (condicion) {
                // hacer algo
		if (otra_condicion) {
			actu();
			return;
		}
	}
}
Me pasa algo muy raro, al depurarlo, salta directamente a la sentencia return, cuando ni siquiera se cumple la condición del while, a partir de ese momento la ejecución del programa sigue igual de confusa. Hay algún problema con usar la sentencia return dentro del while?
  #2 (permalink)  
Antiguo 28/10/2009, 09:25
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Respuesta: Return dentro de while

No deberia haber ningun problema. Si la condicion del while no se cumple entonces el metodo termina, tal vez el depurador no te muestre exactamente lo que esta pasando y te confunda un poco ... mira el codigo en ensamblador.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 29/10/2009, 14:08
Avatar de Ingloim  
Fecha de Ingreso: octubre-2009
Ubicación: España
Mensajes: 14
Antigüedad: 15 años
Puntos: 1
Respuesta: Return dentro de while

Prueba a cambiar el return por un break;

Esto hace que la ejecución salga del bucle y continue ejecutando la función, aunque no debería haber problemas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.