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:
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.
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:
Código (c) [Seleccionar]
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.