Vinzenz Mai: Ringtausch, Kreuztausch ohne Datenverlust

Beitrag lesen

Hallo

es gibt zwei Möglichkleiten, entwerder hab ich hier zuviel geschrieben oder zuwenig, egal, schade, das wir hier nicht weiter kommen,

Hä?

Kannst Du Dich wirklich an solch elementare Dinge nicht mehr erinnern

void tauschen (int* a, int* b) {
    int merker;

/* Schreibe den Inhalt, auf den a zeigt, in den Merker */
    merker = *a;

/* Schreibe den Inhalt, auf den b zeigt, dorthin, worauf a zeigt */
    *a     = *b;

/* Schreibe den Inhalt des Merkers an die Stelle, auf die b zeigt */
    *b     = merker;

/* Nun sind die Inhalte von a und b vertauscht */
}

Du solltest vermeiden, nicht initialisierte Zeiger zu übergeben :-)
Ach so, nach dem gleichen Prinzip kannst Du inline tauschen:

int a = 5;
int b = 7;
int merker;

merker = a;
a      = b;
b      = merker;

Ja, das geht auch mit Arrayelementen. Wo ist das Problem?
C-Anfänger-Kurs!

Verständnislose Grüße

Vinzenz