Warum ergibt die Ungleichheitsprüfung einer Variablen mit vielen Werten immer true?
Ich habe eine Variablev
in meinem Programm, und es kann @ daueirgendei value aus der Menge der Werte
"a", "b", "c", ..., "z"
Und mein Ziel ist es, eine Anweisung nur dann auszuführen, wennv
ist nicht"x"
, "y"
, oder"z"
.
Ich habe versucht
für C-ähnliche Sprachen (wo Gleichheitsoperatoren das @ vergleichetatsächlic string values; z.B. c #, Javascript, php)
if (v != "x" || v != "y" || v != "z")
{
// the statements I want to be executed
// if v is neither "x", nor "y", nor "z"
}
für Pascal-ähnliche Sprachen (z. B. plsql)
IF (v != 'x' OR v != 'y' OR v != 'z') THEN
-- the statements I want to be executed
-- if v is neither "x", nor "y", nor "z"
END IF;
Die Anweisungen in der if-Bedingung immer ausgeführt werden. Mache ich etwas falsch?