- Per la selezione multipla occorre invece un selettore, vale a dire un'espressione
che dia come risultato in un valore intero o un valore di un tipo enumerativo
- Per ogni valore del selettore verrà eseguito un diverso blocco.
- Nel caso del C la sintassi è la seguente:
switch (<selettore>) { case <valore> : [<istruzione>]...
[case <valore> : [<istruzione>]...]... [default: [<istruzione>]...]
[case <valore> : [<istruzione>]...]...}
- L'esecuzione verrà proseguitadall'istruzione che segue il case <valore> :
il cui valore corrispondea quello assunto dal <selettore>
- Se nessun case <valore> : corrisponde al valore del
<selettore>, allora
l'esecuzione riprenderà dall'istruzione seguente il default:
- È da notare che nel C si può inserire una serie di istruzioni tra un case ed
il successivo.
- Il case non definisce un gruppo di istruzioni da eseguire, ma bensì
una posizione da raggiungere, dalla quale riprenderà la sequenza
- Se non si vogliono eseguire tutte le istruzioni che seguono (se ad esempio si vogliono eseguire
per un case <valore> : le sole istruzioni che vanno da quel
case <valore> : al successivo), si deve utilizzare una di
quelle istruzioni che infrangono la struttura (il break) di cui parleremo
più avanti
|