@Christian Seehase: Die C-Funktion hat schon das richtige gemacht (und nicht nur die Pointerwerte vertauscht). Denn innerhalb der C-Funktion wurden die Pointer ja dereferenziert (durch den vorangestellten Stern).
@madina: Deine neue C-Funktion ist übrigens noch genau die gleiche wie im ersten Post.
Denn:
Code:
void Tausche(int& a, int& b)
und
Code:
void Tausche(int *a, int* b)
sind identisch. In beiden Fällen wird intern mit einem Pointer auf die Variablen gearbeitet. Der einzige Unterschied ist das du im Quelltext bei der einen Variante (der Variante mit &) nicht mehr dereferenzieren musst.
Die Delphi Äquivalente zu den beiden Funktionen sehen dann übrigens so aus:
procedure Tausche(var a,b: Integer);
und
Delphi-Quellcode:
type
PInteger = ^Integer;
[...]
procedure Tausche(a,b: PInteger);