Forum: Mikrocontroller und Digitale Elektronik Funktion gibt Konstante zurück?


von Suchender (Gast)


Lesenswert?

unsigned int func(void)
{
  return((Var == 0xAA55) || (Var == 0x55AA));
}


ich habe diese Funktion in einem Code gefunden. Gibt die nicht immer das 
selbe zurück?
Danke für eure Hilfe

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Nur wenn sich Var nie ändert...

von Suchender (Gast)


Lesenswert?

Ich glaube ich habe es verstanden

von Suchender (Gast)


Lesenswert?

wenn eine der beiden Besingungen true ist wird 1 zurückgegeben,sonst 
null

von Suchender (Gast)


Lesenswert?

oder?

von Suchender (Gast)


Lesenswert?

ist das richtig was ich vermute?

von Thomas E. (thomase)


Lesenswert?

Suchender schrieb:
> wenn eine der beiden Besingungen true ist wird 1 zurückgegeben,sonst
> null
Fast. Wenn beide false sind wird 0 zurück gegeben. Sonst 1.

mfg.

von Karl H. (kbuchegg)


Lesenswert?

Suchender schrieb:
> wenn eine der beiden Besingungen true ist wird 1 zurückgegeben,sonst
> null

Jein.
Aufpassen. Das "Oder" bedeutet: Wenn A oder B oder beide.

Das ist also kein ausschliessendes Oder.
Prinizpiell.

In deinem speziellen Fall ist es natürlich ein ausschliessendes Oder, 
denn eine Variable kann nicht zur selben Zeit den Wert 5 und den Wert 8 
annehmen. Es kann also immer nur eine der beiden Bedingungen wahr sein. 
Trifft die eine zu, dann ist klar dass die andere nicht wahr sein kann. 
Das ergibt sich aber aus der Art und Weise der Verwendung. Dem Oder an 
sich sind solche 'Spitzfindigkeiten' egal.

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.