Software > Coding
wieder mal ein C-Snibble und ne Frage dazu
matashen:
Hallöchen, ich optimier gerade wie wild in meinem Lynxopoly rum.
jetzt hab ich versucht manche Ifs in switch umzubauen
Kann mir jemand sagen warum bei
--- Code: ---switch(moneychase[nr])
{
case(0):showmoney(30,15,11,price[bei_feld[akt_player]],0);
case(1):showmoney(50,25,14,geld[akt_player],1);
}
--- Ende Code ---
immer beide bedingungen ausgegeben werden?
schonmal danke für ne Antwort.
Ich schalt derweil die case ab und mach wieder ifs rein.
Gruß Matthias
afalc060:
öhm, da fehlen doch 2 break, oder?
matashen:
sind die tatsächlichnotwendig??? sollte nicht case(0) eindeutig auf 0 und nichts anderes zeigen???
Sorry ich leb normalerweise in der pascalwelt und da ist prüfung auf x auch nur auf x... erklärt mir das bitte jemand aus der C-Welt
Gruß Matthias
simonsunnyboy:
Nein in C sind sie nicht notwendig. Nur wenn Du für eine Auswahl auch nur genau eine Codefolge haben willst.
Das break ist immer optional. Du als Programmier musst wissen ob es nötig ist oder auch nicht.
Manchmal kann es sinnig sein, das break wegzulassen.
Es geht auch sowas:
--- Code: ---switch(c)
{
case 0:
case 1:
case 2:
blah();
case 3:
anderes_blah();
break;
case 4:
noch was anderes();
break;
}
--- Ende Code ---
guest2291:
Um das ganze nochmal ein bisschen zu erklaeren:
Das Programm BEGINNT bei dem case, welches zutrifft und ENDET beim break;
wenn also im oben genannten Beispiel c = 0 (oder auch 1 oder 2), dann wird blah(); und anderes_blah(); ausgefuehrt und am break; zur schliessenden } gesprungen. ist c = 3, dann wird anderes_blah(); ausgefuehrt. ist c = 4, dann wird noch_was_anderes(); ausgefuehrt.
Das ist sehr logisch, wenn man es mal verstanden hat. :)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln