Forum: PC-Programmierung switch case abfrage


von swcase (Gast)


Lesenswert?

Hallo Leute.

Wüsste mal gerne was eigentlich passiert wenn bei einer switch case 
abfrage 2 cases true sind und nach jedem case ein break steht. Wird der 
erste ture case abgehandelt und die switch gebreakt oder der erste true 
case abgehandelt und zum nächsten true case gesprungen und dann 
gebreakt?
Vielen Dank

von Peter (Gast)


Lesenswert?

überhaupt nichts, weil du den code nicht durch den compiler bekommst

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Peter schrieb:
> überhaupt nichts, weil du den code nicht durch den compiler bekommst
Das hängt davon ab, wo man das einsetzt, PHP erlaubt diesen fall sehr 
wohl, und hier gilt dann: der erste gewinnt.

von swcase (Gast)


Lesenswert?

Hab vergessen, es handelt sich um C-Code

von Wayne (Gast)


Lesenswert?

Probier mal das zu Compilieren.
Der Compiler wird meckern, dass der case zweimal vorkommt.

von swcase (Gast)


Lesenswert?

Der Compiler meckert nicht da die switch Bedingung eine Variable in 
Abhängigkeit eines Registers ist und sich erst durch externe Einflüsse 
auf 2 true Bedingungen ändern kann.

von Peter (Gast)


Lesenswert?

swcase schrieb:
> Der Compiler meckert nicht da die switch Bedingung eine Variable in
> Abhängigkeit eines Registers ist und sich erst durch externe Einflüsse
> auf 2 true Bedingungen ändern kann.

dann meckert der compiler weil der wert nicht konstant ist, man kann 
nicht mit einem Register oder einer Variable im Case vergelichen!

von swcase (Gast)


Lesenswert?

Komisch bei mir meckert er nicht obwohl ich ein Register in der switch 
abfrage.

von Peter (Gast)


Lesenswert?

dann zeig doch mal den code - denn C kennt überhaupt keine Register

von Berater ohne Honorar (Gast)


Lesenswert?

swcase schrieb:
> Komisch bei mir meckert er nicht obwohl ich ein Register in der switch
> abfrage.

Zeig mal den Code, wie geht sowas?

von swcase (Gast)


Lesenswert?

1
CAN_MOb_To_Read=CANHPMOB>>4;
2
3
switch (CAN_MOb_To_Read)
4
{
CANHPMOB ist ein Restister des AT90CAN das mir das highest priority 
message object anzeigt.

von Peter (Gast)


Lesenswert?

es geht um das case nicht um das switch. Du wolltest wissen was ist wenn 
2 case bedingungen war sind. Also müssten du uns doch das case zeigen.

von swcase (Gast)


Lesenswert?

dem switch folgen 4 case bedingungen

case 0:
case 1:
case 2:
case 3:

Danke :) ich hab meinen Denkfehler erkannt. CANHPMOB kann immer nur 
einen Wert annehmen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.