Přepnout prohlášení (C)
switch a případ příkazy nápovědy řízení složitých podmíněné větvení operací a.switch Prohlášení předá řízení prohlášení v jeho těle.
Syntaxe
Výběr příkazu:
**Přepnout (výraz)**prohlášeníprohlášení označené:
případ konstantní výraz : prohlášenívýchozí: prohlášení
Řízení předá prohlášení, jehož případkonstantní výraz s hodnotou Přepnout (výraz). switch Prohlášení může obsahovat libovolný počet případ instance, ale dvě velká konstanty ve stejné switch prohlášení může mít stejnou hodnotu.Spuštění příkazu subjekt začíná na vybrané prohlášení a pokračuje až do konce subjektu nebo dokud Konec příkaz převede ovládací prvek mimo tělo.
Použít switch prohlášení obvykle vypadá takto:
switch( výraz )
{
prohlášení
.
.
.
případ konstantní výraz :
příkazy provedeny Pokud výraz rovná
Hodnota tohoto výrazu konstanta
.
.
.
Konec;
výchozí nastavení:
příkazy provedeny Pokud výraz není rovno
jakýkoli případ konstantní výraz
}
Můžete použít Konec příkaz zpracování v konkrétním případě switch prohlášení a na konci větve switch prohlášení.Bez Konec, program pokračuje další případ provádění příkazů až Konec nebo je dosaženo konce prohlášení.V některých situacích může být žádoucí tato pokračování.
Výchozí provedení příkazu, pokud ne případkonstantní výraz je rovna hodnotě Přepnout (výraz). Pokud výchozí prohlášení je vynechán a bez případ je nalezena shoda, žádné příkazy v switch subjektu jsou provedeny.Může být nejvýše jeden výchozí prohlášení.Výchozí prohlášení nutné přijít na konci; lze zobrazit kdekoli v textu switch prohlášení.A případ nebo výchozí štítek může být použito pouze switch prohlášení.
Typ switchvýraz a případkonstantní výraz musí být integrální. Hodnota každého případkonstantní výraz musí být jedinečný v rámci orgánu prohlášení.
Případ a výchozí popisky switch prohlášení subjektu jsou významné pouze v počáteční zkušební, určující kde spuštění v těle prohlášení.Přepínač příkazy mohou být vnořené.Všechny statické proměnné jsou inicializovány před spuštěním do libovolného switch příkazy.
[!POZNÁMKA]
Prohlášení se může zobrazit v čele složený příkaz tvořící switch tělo, ale inicializace součástí prohlášení nebyla provedena.switch Prohlášení předá řízení přímo spustitelný příkaz v těle, vynechání řádky, které obsahují inicializací.
Následující příklady ilustrují switch příkazy:
switch( c )
{
case 'A':
capa++;
case 'a':
lettera++;
default :
total++;
}
Všechny tři příkazy z switch subjektu v tomto příkladu jsou provedeny, pokud c se rovná 'A' od Konec prohlášení před následující případ nezobrazí.Provádění řízení se převede první (capa++;) a pokračuje v pořadí, v průběhu celého těla.If c is equal to 'a', lettera and total are incremented.Pouze total je zvýšen, pokud c není rovno 'A' nebo 'a'.
switch( i )
{
case -1:
n++;
break;
case 0 :
z++;
break;
case 1 :
p++;
break;
}
V tomto příkladu Konec prohlášení následuje každé prohlášení switch subjektu.Konec příkaz vynutí při ukončení subjektu prohlášení po provedení jednoho příkazu.Pokud i je rovna-1, pouze n je zvýšen.Konec následujícího příkazu n++; způsobí spuštění předat prohlášení subjektu, vynechává zbývající příkazy.Podobně pokud i je rovna 0, pouze z je zvýšen; Pokud i je rovna 1, pouze p je zvýšen.Závěrečné Konec příkaz není nezbytně nutné, protože ovládací prvek přejíždí z těla na konci složený příkaz, ale je součástí konzistence.
Jednoho příkazu lze provádět více případ štítky, jak ukazuje následující příklad:
case 'a' :
case 'b' :
case 'c' :
case 'd' :
case 'e' :
case 'f' : hexcvt(c);
V tomto příkladu Pokud konstantní výraz rovná se jakýmkoli písmenem mezi 'a' a 'f', hexcvt je volána funkce.
Konkrétní společnosti Microsoft
Microsoft c neomezuje počet případů hodnot v switch prohlášení.Počet je omezen pouze dostupné paměti.ANSI c vyžaduje alespoň 257 v případě popisky povoleny switch prohlášení.
Výchozí nastavení pro Microsoft C je, že jsou povolena rozšíření Microsoft.Pomocí možnosti kompilátoru /Za zakázat těchto rozšíření.
Konec konkrétní společnosti Microsoft