Funktion die zwei Werte vertauscht in C?
Nehmen wir an ich habe zwei Integer Variablen x und y, wobei x=10 und y=20. Ich initialisiere und deklariere zunächst die zwei Variablen, aber wie muss der Code dann aussehen wenn ich möchte, dass die beiden Werte vertauscht werden sollen, und zudem sollen diese VOR und NACH dem Tausch ausgegeben werden.
Ich muss auch die printf Funktion anwenden.
3 Antworten
Überlege einmal, was du machen würdest, müsstest du zwei Karten (eines Kartenspiels) miteinander vertauschen.
Erst legst du Karte 1 beiseite und ersetzt dann ihre Position durch die zweite Karte. Dann nimmst du die erste Karte wieder zur Hand und legst sie an die alte Position der zweiten Karte.
Du könntest Deine Übungen ruhig mal selbst machen, andernfalls fehlt Dir eben die Übung.
swap() implementiert man mit hilfe einer temporären Variable zur Zeischenspeicherung.
Auch nett. In der Praxis dürfte aber ein Registertransfer die bessere Option sein, da er nur den Datenpfad belegt und nicht die ALU.
Was machst du, wenn du in jeder Hand ein Objekt hast (und du auch immer nur maximal ein Objekt in jeder Hand halten kannst) und du möchtest die Objekte austauschen?
Wenn man den Lehrer beeindrucken will implementiert man den XOR Swap: https://en.wikipedia.org/wiki/XOR_swap_algorithm
Ohne Hilfsvariable