Operatore di selezione switch.

L'operatore switch consente di creare un comodo costrutto che ramifica le azioni in base al valore di una variabile, la sintassi è:
switch (mode)
     case 0: 
     // esegui se mode == 0 
          break; 
     case 1: 
     // esegui se mode == 1 
          break; 
     case 2: 
     case 3: 
     case 4: 
     // esegui se mode == 2, 3 o 4 
          break; 
     default: 
     // eseguire se il mode non corrisponde a nessuno dei case 
          break;
La presenza dell'istruzione di default è facoltativa. La presenza della dichiarazione di break è obbligatoria, altrimenti il ​​confronto andrà oltre, come mostrato per i case 2, 3 e 4.
Con l'aiuto di operatori condizionali e operatori di selezione si costruisce la logica del programma. L'operatore condizionale ti aiuterà a confrontare il valore e decidere cosa fare dopo. L'operatore di selezione si occuperà perfettamente della modifica del programma.
È necessario prestare estrema attenzione quando si lavora con l'istruzione switch, poiché il codice all'interno delle parentesi graffe switch() { } è un blocco di codice per tutti i case. Di conseguenza, i case sono solo etichette per la transizione tra le sezioni di questo blocco. Perché questo è così importante: tutti i case sono nello stesso ambito, ovvero variabili locali con lo stesso nome non possono essere dichiarate all'interno di switch:
switch (mode) 
     case 0: 
          int val = 5; 
          break; 
     case 1: 
          int val = 5; // risulterà in un errore
          break; 
     case 2: 
          break;
}
Inoltre è fortemente sconsigliato creare variabili locali all'interno dei case.
switch (mode) 
     case 0: 
          break; 
     case 1: 
           // variabile locale 
          int val = 5; 
          break; 
     case 2: 
          // con mode == 2, "Electron32" verrà visualizzato solo se si rimuove la variabile locale sopra.                                    Serial.println("Electron32"); 
          break;
}
Cosa fare se si vuole veramente o se si ha veramente bisogno? Avvolgi il contenuto della case in un blocco usando le parentesi graffe:
switch (mode) 
     case 0: 
          break; 
     case 1: 
          { 
               int val = 5;  
          } 
           break; 
     case 2: 
          Serial.println("Electron32" ); 
          break;
}  
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia