February 12
Utilizzare l'istruzione Switch in C per valutare un gran numero di valori per una singola variabile o espressione. Switch può essere molto più ordinata di una lunga serie di istruzioni If Else.
1 Scegliere il valore che determinerà l'azione nella sua dichiarazione switch. Può essere una singola variabile, il risultato di una chiamata di funzione o di qualsiasi espressione.
2 Inserire questo valore o un'espressione dopo l'istruzione switch in questo modo:
interruttore (variabile) {
3 Fate una lista di tutti i valori che si desidera catturare. Si noti che è possibile per più valori di avere la stessa azione, ma non è possibile utilizzare gli intervalli, solo elenchi di valori. Ad esempio, non si può avere un caso per i valori 301-400, a meno che non si desidera elencare tutti i 100 valori uno per uno!
4 So che è molto comune per i valori da costanti definite con l'istruzione # define C precompilatore.
5 Aggiungere un'istruzione case per ogni valore nel seguente formato:
Valore caso:
6 Seguire ogni dichiarazione caso con una o più azioni. Diversamente dalla maggior parte strutture C, non è necessario parentesi graffe per più istruzioni.
7 Concludere ogni set di comandi con un'istruzione break prima di iniziare il prossimo caso. Se non si esegue questa operazione, l'esecuzione sarà "cadere attraverso" in caso successivo, che è praticamente mai desiderabile. E 'OK per lasciare fuori la pausa se qualcosa (come una dichiarazione di ritorno) assicura che non sarà mai "cadere."
8 Creare un caso speciale di default per la cattura di tutto quanto non accompagnata da un caso precedente. E 'solo di default, non è caso di default.
9 Concludere il blocco con un}, come in questo esempio completo:
Interruttore (evaluate_color (rosso, verde, blu)) {
caso RED:
printf ( "Un tramonto brillante rosso riempie il cielo. \ n");
x = 11;
rompere;
caso GIALLO:
printf ( "Il sole picchia senza pietà. \ n");
x = 14;
rompere;
caso GREEN:
x = 10;
evaluate_green ();
rompere;
caso BLU:
printf ( "Congratulazioni, hai vinto! \ n");
ritorno;
predefinito:
printf ( "Niente di speciale accade. \ n");
rompere;
}