Pregunta

Me encontré con una situación extraña, esto es lo que sucede.estoy usando un do while bucle y ejecuta una función while una vez más después del freno.
Aquí hay una versión simplificada de lo que sucede:

int i = 0;
do{
if(i>=1) break;
}while(i++);

Y después de esto i el valor es 2.Solo tengo curiosidad por saber si así es como debería ser o simplemente cometí un error en algún lugar de mi versión más copmlex de este código.
Esta es una solución fácil para esto, solo tengo que asignar un para decir un iTemp variable al comienzo del wgile y use esa en lugar de i.

PDestaba usando dos do while se enrolla uno dentro de otro, ¿tal vez eso es lo que lo causó?

EDITAR:Vamos, la gente me da un respiro, fue un error tipográfico.:D

¿Fue útil?

Solución

PDEstaba usando dos bucles do while, uno dentro de otro, ¿quizás eso fue lo que lo causó?

Bien podría serlo.A break (tenga en cuenta la ortografía) solo saldrá de uno bucle, por lo que si estuviera dentro del bucle interno, saldría de ese bucle, pero continuaría la ejecución inmediatamente después del final del bucle interno.En el caso (bastante común) de que el bucle externo termine inmediatamente después del interno, terminaría ejecutando la condición del bucle externo nuevamente.

Otros consejos

brake no es una palabra clave y su versión modificada ni siquiera se compila.En su lugar, se ejecuta la versión anterior, es decir, sin la nueva interrupción.

Solución:Usar break.


actualizar:

PDEstaba usando dos bucles do while, uno dentro de otro, ¿quizás eso fue lo que lo causó?

Sí. break solo sale del bucle más interno en el que está escrito.

Por cierto, me doy cuenta de que el bucle mostrado siempre se ejecutará solo una vez.Su condición de bucle es i++, que incrementa i y te da el valor antes el incremento.Antes de su primer incremento, i es 0, por lo tanto su condición de bucle es 0 por lo tanto, en la primera ejecución, se ejecuta una vez.

comprobar su break no brake?

int i = 0;
do
{    
 if(i>=1) 
    break;
}while(i++);

la condición de bucle y las condiciones de pico son inconcebible."Lo siento si parezco grosero"

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top