Il Novizio Inserito: 27 novembre 2004 Segnala Inserito: 27 novembre 2004 Domandina:Che differenza c'è fra questi due cicli:1- for (i=0;i++;i<x) {statement};2- i=0; while (i<x) {statement;i++}Secondo chi mi ha insegnato il C, e vari altri testi, nessuna...qualsiasi while può essere scritto come for e viceversa (se volete l'unica differenza è che il for è molto più compatto e veloce a scriversi).Bene, diversamente la pensa il mio compilatore C18. Se scrivo il costrutto con il for mi posso scordare che lo statement venga eseguito, neanche a piangere in cinese.L'unico motivo che mi viene in mente, è che l'optimization mi toglie il ciclo for per un suo qualche motivo a me molto oscuro ora come ora.Dico io, ma che ca...spita di optimization sarebbe? Il risultato è che c'ho sbattuto la testa tutto il pomeriggio cercando il baco, e poi era dove il codice sembrava il più funzionale possibile. Tant'è vero, che guarda un po', sono tornato dal pub e alle 3 am ! mi sono messo a provare a cambiare il for con il while e risultato, tutto fila liscio come dovrebbe.Come al solito (sono un novizio, no? ) potrei avere detto una cavolata o, meglio ancora aver scoperto, come si dice, l'acqua calda...ma per curiosità, qualcuno era già a conoscenza di questa cosa e mi sa spiegare il motivo?CYA
wnc Inserita: 27 novembre 2004 Segnala Inserita: 27 novembre 2004 for(i = 0; i < x; i++) ..... e non viceversa. Ciao
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora