Buenas el caso es que estoy estudiando de un libro y bueno se como se usa el Bucle while
Un ejemplo.
#include <stdio.h>
#include <stdlib.h>
int main(){
int x = 12;
while (x == 12)
{
printf("X es igual a 12");
}
return 0;
}
Ya se que es un ejemplo muy malo pero bueno al fín y al cabo esun ejemplo.
Bueno aun no he explicado mi problema, en el libro pone que el bucle Until es un bucle while con la instrucción condicional invertida y la pregunta es tu puede hacer esto por ejemplo:
#include <stdio.h>
#include <stdlib.h>
int main(){
int x = 9;
while (x != 9)
{
printf("x es diferente a 9");
}
return 0;
}
Este ejemplo que he echo por ejemplo, no entiendo porque un bucle until tiene que ser el "contrario" de uno while si se puede hacer asi.
Espero que entendais lo que quiero decir.
Salu2.
es algo meramente de nombre, estoy seguro que le mencionas a cualquier programacion un ciclo "until" y no sabrá o simplemente dirán que es while :P
En C o C++ no existe "until". Existe solo "while(){}" y "do{}while();".
A vale ya decía yo, bueno lo primero gracias por contestar :-)
Y ahora ya que estamos si me podeis explicar la diferencia de entre el bucle while y do-While que la verdad lo he estado mirando y no lo entiendo nada jeje.
la única diferencia es que en "do{}while();", la instruccion se hace primero, y se comprueba la condición despues. En "while(){}", primero se comprueba la condición.
Ah, y ten en cuenta que "do{}while();" siempre acaba con punto y coma.
Cita de: ivancea96 en 5 Agosto 2015, 23:44 PM
la única diferencia es que en "do{}while();", la instruccion se hace primero, y se comprueba la condición despues. En "while(){}", primero se comprueba la condición.
Entonces si haces un programa da lo mismo si lo haces con While(){} o do{}while(){}
és cuestión de gustos??Ah, y ten en cuenta que "do{}while()
;" siempre acaba con punto y coma.
Cita de: ivancea96 en 5 Agosto 2015, 23:44 PM
Ah, y ten en cuenta que "do{}while();" siempre acaba con
Te refieres a la ejecución del while solo o después del parentesis en while?(del do-while)
Después del paréntesis del "do{}while();". Se acaba con ;.
No, no es lo mismo do{}while(); que while(){}. Hay ocasiones donde no importa si se comprueba antes o después la condición, pero hay otras donde sí importa. Te pongo un ejemplo.
Es un poco absurdo, pero espero que se entienda:
int arr[0];
int length = 0;
int i = 0;
while(i < length){
printf("%i", arr[i]);
i++;;
}
i = 0;
do{
printf("%i", arr[i]);
i++;
}while(i < length);
El código es simplemente sacar por pantalla los números del arreglo. La longitud del arreglo es 0.
En el primer while, se comprueba si 'i' es menor a la longitud. Como no cumple la condición, no entra en el bucle.
En el segundo, el do-while, entra directamente al código, sacando por pantalla un resultado erróneo, puesto que no hay ningún valor en arr[0] (por no decir que puede tirar error, según el caso). La comprobación la hace al final, cuando i = 1.
A vale ya lo entiendo ;D
Gracias por explicarmelo ivancea96 que la verdad es que no entendia los ejemplos de los sitios donde miraba.
Salu2.