Hvordan lage en bryter uttalelse i C

Bruk Switch uttalelse i C for å evaluere et stort antall verdier for en enkelt variabel eller uttrykk. Switch kan være mye ryddigere enn en lang rekke If Else uttalelser.

Bruksanvisning

Lag en bryter uttalelse

1 Velg verdien som vil avgjøre en handling i Switch uttalelse. Det kan være en enkelt variabel, resultatet av et funksjonskall eller en hvilken som helst uttrykk.

2 Plasser denne verdien eller uttrykket etter bryter uttalelse som dette:

bryter (variabel) {

3 Lag en liste over alle de verdiene du ønsker å fange. Legg merke til at det er mulig for flere verdier å ha den samme handlingen, men du kan ikke bruke kjeder, bare lister over verdier. For eksempel kan du ikke har en sak for verdier 301-400, med mindre du ønsker å liste alle 100 verdier en etter en!

4 Vet at det er veldig vanlig at verdiene skal være konstanter definert med #define C forkompilatorvalget uttalelse.

5 Legg en sak uttalelse for hver verdi i følgende format:

Hvis verdi:

6 Følg hvert tilfelle uttalelse med en eller flere handlinger. I motsetning til de fleste C strukturer, trenger du ikke klammeparenteser for flere uttalelser.

7 Avslutt hvert sett av kommandoer med en pause uttalelse før du starter neste sak. Hvis du ikke gjør dette, vil utførelse "falle gjennom" inn i neste sak, som er nesten aldri ønskelig. Det er OK å utelate pause hvis noe annet (som en retur uttalelse) sikrer at det aldri vil "falle gjennom."

8 Lag en spesiell standard sak å fange noe ikke samsvarer med en tidligere sak. Det er bare standard, ikke tilfelle mislighold.

9 Konkludere blokken med en}, som i dette komplett eksempel:

bryteren (evaluate_color (rød, grønn, blå)) {
case RED:
printf ( "En strålende rød solnedgang fyller himmelen \ n.");
x = 11;
gå i stykker;
case GUL:
printf ( "The sun slår ned nådeløst \ n.");
x = 14;
gå i stykker;
case GRØNN:
x = 10;
evaluate_green ();
gå i stykker;
case BLUE:
printf ( "Gratulerer, du vinner \ n");
komme tilbake;
misligholde:
printf ( "Ikke noe spesielt som skjer \ n.");
gå i stykker;
}

Hint

  • Switch vil bare fungere hvis alle sammenligninger er mot en enkelt variabel eller uttrykk. Ellers opprette en If Else uttalelse med flere Else Ifs.
  • Bruk "falle gjennom" er generelt ansett som en dårlig teknikk og bør unngås med mindre du er helt sikker på at koden vil være både riktig og lesbar.