Returnadresse verändern?

L

Laphoo

Jungspund
Hallo zusammen,

Kann man die Returnadresse nicht irgendwie anders ändern, als unten am beispiel angegeben.

Code:
#include <stdio.h> 

void function_1(int a) 
{ 
int *res; 
res=&a-1; 
*res=*res+10; 
} 

int main(void) 
{ 
int a; 
a = 0; 
function_1( 8 ); 
a = 1; 
printf("%d\n",a); 
}
So wird beim ausführen des Programmes nie a = 1 erreicht. Soweit so gut, nur könnte man es ein bischen anders machen, vieleicht ohne übergebene Argumente und ohne anderen lokalen Variablen?

Danke
 
Zuletzt bearbeitet:
hmm,

irgendwie verstehe ich nicht was du überhaupt machen willst, irgendwie ist der Code für mich nicht wirklich sinnvoll :(
 
was meinst du denn überhaupt mit returnadresse?

zu dem source: warum erst a=0 und dann a=1?
 
Ich glaub er mein das so: Wenn etwas bestimmtes in Funktion passiert(z.B. ein Fehler) dann soll a = 1; nicht ausgeführt werden. Aber das was er da hat ist ja eh keine Function, sondern ne Procedure. Also würd ich das einfach einen Rückgabewert nehmen.
 
Zuletzt bearbeitet:

Ähnliche Themen

C Code Hilfe!!! gesucht bei Dezimalzahl in Binärzahl for loop

Unix Webserver mit HTML Seite erstellen

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Ausführbare C-Datei von Mac OS auf Embedded Linux ausführen

Prozesskommunikation mit PIPES - wie funktioniert das?

Zurück
Oben