Vergleich klappt nicht

Gast #1045979
Lesenswert?

hallo,

ich habe ein uint16_t Variable[8] definiert und vergleiche die Variable 
an der stelle1 mit einigen Parameter. Ich habe beliebig Werte für diese 
Variable  gewählt, aber es geht immer in der erste if Anweisung.
Kann jemanden mir sagen, wo das Problem liegt.

void function( uint16_t Var[8])
{
if((0x300) < Variable[1] <= (0X37F))
{
functionx();
}
else if( (0x380) < Variable[1] <= (0X3FF))
{
functiony();
}
else if( (0x0) < Variable[1] <= (0X7F) )
{
functionz();
}
else
{
functionk();
}
}

Danke euch
Gast #1045995
Lesenswert?

Korrekt. Vergleiche funktionieren so nicht, da der erste Vergleich immer 
1 oder 0 liefert.

Zum Verkennten von Vergleichen logische Operatoren verwenden:
1
if( (0x300 < Variable[1]) && (Variable[1] <= (0X37F) )

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren