Salve
Volevo avere un suggerimento riguardo un pezzo di codice
La situazione che devo sbrogliare è la seguente:
if(condizione1)
{
statement1;
statement2;
statement3;
}
else if(condizione2)
//esegui statement2
else
//esegui statement3
La mia domanda è: come posso saltare agli statement2 e 3 senza usare il goto e usare funzioni o macro? Esiste qualche "trucchetto" che magari si acquisisce con l'esperienza?
Qualora non ci fosse, quale soluzione è la migliore?
Istruzione salto C
Moderatore:
Paolino
16 messaggi
• Pagina 1 di 2 • 1, 2
0
voti
Spiegati meglio, dici di volere eseguire subito gli statement2 e 3, ma quali? quelli all'interno del primo IF ? oppure quelli successivi?
In ogni caso una possibilità è di aggiungere un'ulteriore variabile booleana da inserire assieme ad una determinata condizione utilizzando l'operatore "and" (&&).
In ogni caso una possibilità è di aggiungere un'ulteriore variabile booleana da inserire assieme ad una determinata condizione utilizzando l'operatore "and" (&&).
- Codice: Seleziona tutto
nuovaVariabile=false;
if(condizione1 && nuovaVariabile)
...
-

AjKDAP
1.255 2 6 9 - Expert EY

- Messaggi: 796
- Iscritto il: 17 mag 2006, 0:13
- Località: nella coda dei pronti
0
voti
Provo a spiegare meglio visti i dubbi di
AjKDAP e
c1b8
Si verifica la condizione1: vengono eseguiti gli statement1, 2 e 3...non ho problemi di alcun genere.
Si verifica la condizione2: vorrei saltare allo statement2 ed eseguire statements2 e 3 (statements contenuti nel primo if)...stesso discorso se non dovesse verificarsi né la condizione1 né 2: vorrei saltare allo statement3 ed eseguirlo
Faccio un esempio pratico utilizzando il goto (anche se mi hanno detto che nei linguaggi alto livello è da evitare)
if(condizione1)
{
statement1;
secondo_statement: statement2;
terzo_statement: statement3;
}
else if(condizione2)
goto secondo_statement;
else
goto terzo_statement;
Spero di essere stato più chiaro
Si verifica la condizione1: vengono eseguiti gli statement1, 2 e 3...non ho problemi di alcun genere.
Si verifica la condizione2: vorrei saltare allo statement2 ed eseguire statements2 e 3 (statements contenuti nel primo if)...stesso discorso se non dovesse verificarsi né la condizione1 né 2: vorrei saltare allo statement3 ed eseguirlo
Faccio un esempio pratico utilizzando il goto (anche se mi hanno detto che nei linguaggi alto livello è da evitare)
if(condizione1)
{
statement1;
secondo_statement: statement2;
terzo_statement: statement3;
}
else if(condizione2)
goto secondo_statement;
else
goto terzo_statement;
Spero di essere stato più chiaro
2
voti
Vista così io scriverei:
Infatti lo statement3 deve essere sempre eseguito.
Lo statement1 viene eseguito solo per condizione1.
Lo statement2 per condizione1 o condizione2.
Non usi goto e scrivi gli statement una sola volta
- Codice: Seleziona tutto
if(condizione1)
statement1;
if(condizione1 || condizione2)
statement2;
statement3;
Infatti lo statement3 deve essere sempre eseguito.
Lo statement1 viene eseguito solo per condizione1.
Lo statement2 per condizione1 o condizione2.
Non usi goto e scrivi gli statement una sola volta
Fabio
0
voti
16 messaggi
• Pagina 1 di 2 • 1, 2
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 6 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


