c++ - usando - sentencia for en c
¿Cómo se hace una repetición hasta el lazo en C++? (6)
¿Cómo se hace una repetición hasta el lazo en C ++? A diferencia de un ciclo While o For estándar. Necesito verificar la condición al final de cada iteración, en lugar de al principio.
Cuando quiera verificar la condición al principio del ciclo, simplemente niegue la condición en un ciclo while
estándar:
while(!cond) { ... }
Si lo necesita al final, use un bucle do
... while y anule la condición:
do { ... } while(!cond);
La repetición se supone que es un bucle simple n veces bucle ... una versión sin condiciones de un bucle.
#define repeat(n) for (int i = 0; i < n; i++)
repeat(10) {
//do stuff
}
también puede agregar una barra adicional para aislar aún más la variable i
#define repeat(n) { for (int i = 0; i < n; i++)
#define endrepeat }
repeat(10) {
//do stuff
} endrepeat;
[edit] Alguien publicó una preocupación sobre pasar algo que no sea un valor, como una expresión. simplemente cambie a loop para ejecutar hacia atrás, haciendo que la expresión se evalúe solo una vez
#define repeat(n) { for (int i = (n); i > 0; --i)
Por ejemplo, si desea tener un ciclo que se detenga cuando haya contado a todas las personas de un grupo. Consideraremos que el valor X es igual al número de personas en el grupo, y el contador se usará para contar a todas las personas del grupo. Para escribir el
mientras (! condición)
el código será:
int x = personas;
contador int = 0;
while (x! = counter)
{
contador ++;
}
return 0;
Puede usar macros para simular la sintaxis repeat-until.
#define repeat do
#define until(exp) while(!(exp))
Solo usa:
do
{
//enter code here
} while ( !condition );
Entonces, lo que hace es mover su parte de ''verificación de condición'' hasta el final, ya que el while
está al final. Por lo tanto, solo comprueba la condición después de ejecutar el código, al igual que la forma en que lo desea
do
{
// whatever
} while ( !condition );