cpp / beginner
Snippet
Operatorpriorität und Klammern
Die Operatorpriorität bestimmt, wie Ausdrücke ausgewertet werden. Multiplikation hat eine höhere Priorität als Addition. Logisches UND (&&) hat höhere Priorität als ODER (||). Verwende immer Klammern, um deine Absicht klar zu machen und Fehler zu vermeiden.
snippet.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>int main() {int a = 5, b = 3, c = 8;int result1 = a + b * c;int result2 = (a + b) * c;bool isValid = (a > 2) && (b < 10) || (c == 8);std::cout << "a + b * c = " << result1 << std::endl;std::cout << "(a + b) * c = " << result2 << std::endl;std::cout << "isValid = " << isValid << std::endl;return 0;}
Erklärung
1
a + b * c
Multiplikation wird zuerst ausgewertet: b * c = 24, dann a + 24 = 29
2
(a + b) * c
Klammern erzwingen Addition zuerst: (5+3) = 8, dann 8 * 8 = 64
3
(a > 2) && (b < 10)
Vergleichsoperatoren haben niedrigere Priorität als Arithmetik
4
isValid = ...
Ohne Klammern würde && stärker binden als ||