C kennt die folgenden Ergibtanweisungen:
= += -= *= /= %= <= >= &= ^= |=
Die Bedeutung von = ist offensichtlich. Diese Ergibtanweisung nimmt das Ergebnis des Ausdruckes der rechten Seite und ordnet es der Variablen auf der linken Seite zu (lvalue).
main ()
{
int a, b=4, c=10;
a = b + c;
}
Trotzdem nochmal im Einzelnen:
Die anderen Operatoren arbeiten ähnlich. Das Programmbeispiel auf der linken Seite kann man abgekürzt auch so schreiben:
main () main()
{ {
int a=4; int a=4;
a = a * 4; a *= 4;
} }
Dabei gilt:
Der lvalue (der Wert auf der linken Seite) wird mit dem rvalue (dem Wert auf der linken Seite) multipliziert und das Ergebnis als lvalue abgespeichert.
Hier ein weiteres Beispiel.
main() main()
{ {
int a=10, b=2; int a=10, b=2;
a /= b * 5; a = a / (b*5);
} }
Beide Programme liefern das gleiche Ergebnis, also (1).
Increment und Decrement
Increment
(++) und Decrement (--)
Bit
Verschiebung (shifting) >>= <<= )
Vorrangtabelle
der Operatoren.