Ergibtanweisungen


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:

  1. b wird der Wert  4 zugewiesen
  2. c wird der Wert 10 zugewiesen
  3. a wird das Ergebnis des Ausdruckes b plus c zugewiesen (also 14).

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.


Anfang Hauptindex Schlüsselwörter Funktionen

Übers.: G. Junghanns