Module: (C++) Routinen: Prozeduren und Funktionen - 1


Problem

12/12

Sich ändernde Argumente

Theory Click to read/hide

Ziel
Legen Sie ein Verfahren ein, das zwei Variablen ändert.

Die Besonderheiten dieser Aufgabe sind, dass wir die Änderungen des Verfahrens, das dem herausfordernden Programm bekannt ist, vornehmen müssen.

Versuchen wir, so ein Verfahren zu schreiben:
Leere Swap (int a, int b ) / mit einer solchen Beschreibung der Modalitäten,
{ // wird die Argumente kopieren (x und y),
int c; // Variablen a und b - unabhängige Variablen, die nicht mit x und y verbunden sind
c = a = b; b = c
♪

Haupt(e)
{~}
int x = 1, y = 2
Swap (x, y ); / Werte der Variablen x und y (Argumente) werden auf die Parameter a und b kopiert
cout vermin < x = < < < < < > > > > > > > > = 1, y = 2
♪
Wenn dieses Programm gestartet wird, ist zu erkennen, dass die Variablenwerte variabel sind. x und y Keine Veränderung. Für die Parameter zur Änderung der Bedeutung der Argumente ist es notwendig, Übertragung von Referenzdaten.Zu diesem Zweck sollte nach dem Namen der Art der Daten ein Etikett in die Rubrik des Teilprogramms eingefügt werden.& (Lampersand)
Leer Swap (int " a, Int " (b) // nun Variablen a und b empfangen Variable x und y im Speicher
{~}
int c;
c = a = b; b = c
♪
Anwendung: Wenn Sie das Argument auf der Referenz, dann wenn Sie das Verfahren anrufen, kann der einzige Name der Variable an dieser Stelle sein.Nicht Zahl und nicht arithmetisch Ausdruck!

Der NEXT ruft das Verfahren auf:
Swap. ANHANG ;
Swap5+x, y);

Problem

Schreiben Sie ein Verfahren, das zwei Variablen ändert. Versuchen Sie es zu schreiben, ohne eine zusätzliche Variable zu verwenden. Machen Sie Fehler, wenn sie es sind.