Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- nochmals kurze Verständnisfrage (http://www.informatikerboard.de/board/thread.php?threadid=1491)


Geschrieben von Markus am 01.05.2013 um 13:35:

  nochmals kurze Verständnisfrage

Meine Frage:
Hi! Es geht nochmal um C.
In unserem Skript steht folgendes:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
int a, b, c;

...

if(a > b)
{
c = a;
a = b;
b = c;
}


Meine Ideen:
Da steht ja "falls a größer b". Aber was bedeutet das in gechweiften Klammern darunter? Da steht ja kein printf oder sowas dabei. Was bedeutet das (ingesamt)?



Geschrieben von MissDB am 01.05.2013 um 13:47:

 

Das sind zuweisungen von Variablen.

Int a ; // Variable a wird angelegt. Der Wert ist irgendein Wert...
a=3 ; // die Variable a bekommt den wert 3 zugewiesen.
a=c; // die Variable a bekommt den Wert von c zugewiesen...



Geschrieben von Markus am 01.05.2013 um 14:04:

 

Okay danke!



Geschrieben von eulerscheZahl am 01.05.2013 um 14:38:

 

Nochmal im Gesamtzusammenhang:
c = a; // alten Wert von a zwischenspeichern
a = b; // a überschreiben mit b
b = c; // den zwischengespeicherten Wert (altes a) in b schreiben

c ist eine Hilfsvariable, die es ermöglicht, den Inhalt der Variablen a und b zu tauschen.
Da dieser Tausch nur ausgeführt wird, wenn a>b ist, ist a danach auf jeden Fall kleiner als b (oder gleich).

if (Bedingung)
{
Anweisungsblock;
}

die geschweiften Klammern sorgen dafür, dass der gesamte Block nur dann ausgeführt wird, wenn die Bedingung erfüllt ist.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH