Innerhalb einer if-Anweisung kann die Verwendung mehrerer ODER-Bedingungen eine nützliche Technik zur gleichzeitigen Auswertung mehrerer Bedingungen sein. Die Syntax zum Ausdrücken dieser Bedingungen kann jedoch verwirrend sein.
Im folgenden Codeausschnitt soll ausgewertet werden, ob die Eingabenummer des Benutzers gleich 1, 2 oder 3 ist:
if (number==1||2||3) { cout << "Your number was 1, 2, or 3." << endl; }
Dieser Code funktioniert jedoch nicht wie erwartet. Das Problem liegt in der Syntax: Die Art und Weise, wie die Bedingungen geschrieben sind, wird vom Compiler wie folgt interpretiert:
if ( (number == 1) || 2 || 3 ) {
In dieser Interpretation wird der logische ODER-Operator (||) als wahr ausgewertet, wenn entweder die linke Seite zutrifft wahr oder die rechte Seite ist wahr. Da sowohl 2 als auch 3 wahre Werte sind, wird die gesamte Bedingung unabhängig vom Wert der Zahl als wahr ausgewertet.
Um mehrere ODER-Bedingungen korrekt auszudrücken, muss jede Bedingung explizit anhand der Variablen ausgewertet werden:
if (number==1 || number==2 || number==3) { cout << "Your number was 1, 2, or 3." << endl; }
Mit dieser Syntax wird die Bedingung korrekt ausgewertet und gibt nur dann „true“ zurück, wenn Zahl gleich 1, 2 oder 3 ist.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere OR-Bedingungen in einer if-Anweisung korrekt verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!