Raga una delucidazione:
while (x>=0) {
//fai qualcosa
}
//oppure
while (x>=0) {
do {
//fai qualcosa
}
}
quale delle due è più corretta?
oppure ho delle lacune sul while ?
Grazie in anticipo!
Raga una delucidazione:
while (x>=0) {
//fai qualcosa
}
//oppure
while (x>=0) {
do {
//fai qualcosa
}
}
quale delle due è più corretta?
oppure ho delle lacune sul while ?
Grazie in anticipo!
La seconda è sbagliata
Il do va prima del while
E comunque serve per casi diversi dal while semplice
semplicemente...
ok raga, ho capito... stavo confondendo un attimo i due casi.
il primo è il semplice while (prima controllo poi esecuzione)
Il secondo è un mosto tra il primo ed il secondo, ma comunque sbagliato in un certo senso perché dopo il do va obbligatoriamente la condizione while... grazie a tutti...
Il mio criceto pensava che il "contrario" del do while fosse appunto il while do... e non semplicemente il while
Appunto, do...while è come while, l'unica differenza è che la condizione viene testata alla fine del ciclo invece che all'inizio, e dunque almeno una volta ci entri per forza.
La cosa più bella è che ho usato spessissimo il while omettendo successivamente il do, ed ha sempre funzionato come mi aspettavo. ma non ricordo dove ho letto un codice con while e subito dopo do... forse alla fine di quel do c'era un'altra while che ho fatto a meno di leggere...
Forse non ci stiamo capendo. I costrutti, come da manuale sono:
while (condizione) {
// ...
}
do {
// ...
} while (condizione);
Qualunque altra forma non è canonica e probabilmente funziona solo "per caso"!
quindi mi stai dicendo che non è annidabile?
while (condizione) {
do {
//fai qualcosa
} while (condizione);
}
Questo non mi sembra sia scorretto..
anzi, probabilmente è stato proprio un pezzo di codice del genere a creare confusione nei miei ragionamenti tenuto conto del fatto che il codice comincia con un while do....
ma se lo leggo solo a metà (senza tener conto dell'ultimo while) so cacchi...
PS: penso che ci siamo ben capiti...
Non è scorretto sintatticamente, ma il do... while interno è completamente inutile :P.
No, perché?
Se le due condizioni sono differenti non ci sarebbe nulla di strano
Non mi vengono in mente esempi d'uso, ma il nesting di while_do in un precedente while è legittimo e funzionante...
Ah beh, certo, ma con la stessa condizione, come è scritto, quello esterno è ridondante.
ovvio che è stato errore mio scrivere due volte "condizione" piuttosto che "condizione1" e "condizione2". diversamente è ridondante e concordo pienamente con te sukkopera. al momento non ricordo quale esempio specifico mi portò a questo inghippo... qui c'è un ottimo esempio di un if seguito da uno switch e un do while... ogni tanto lo vado a rileggere perché ha un senso logico molto ben pensato e strutturato... nonché mi fa da esempio su come gestire determinate situazioni...
a volte si fanno un sacco di ricerche mirate per quel che si vuole fare, soprattutto per chi non ha voglia di imparare a programmare sperando di diventare subito un sarto (taglia e cuci) spacciandosi poi per uno che sa come realizzare progetti...
io preferisco salvarmi questi sketch che aiutano a comprendere la logica dell'elaborazione dei dati, e una volta compresa quella per bene, essendo le combinazioni di utilizzo infinite, altrettante infinite possono essere le cose che si possono realizzare...
Comunque è assodato:
while (condizione) {
//do
}
do {
//what do you want
} while (condizione);
occhio ai commenti