return

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
mvp_1991
Beiträge: 13
Registriert: Di Apr 19, 2016 9:57 pm

return

Beitrag von mvp_1991 » So Apr 24, 2016 1:41 pm

int a;

int funktion (int a,int b){
a = 5;
b = 6;
return a;
}


int main()
{
funktion(5,7);
a += 10;
printf("%d",a);
return EXIT_SUCCESS;
}

kann mir jeman erklären, was der ausdruck return a bewirkt? Ich dachte, durch die "return a" anweisung bekommt die Funktion funktion den Wert a = 5 und anschließend wird a um 10 erhöht und 15 ausgegeben?

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: return

Beitrag von nouseforname » So Apr 24, 2016 4:15 pm

Du denkst schon richtig, nur wird der Rückgabewert der "funktion" nicht zugewiesen. Daher ist "a" noch nicht initialisiert wenn "10" addiert werden.

Die Variable "a" innerhalb von "funktion" ist nicht die Namensgleiche Variable aus "main". Diese wird nur übergeben und lokal verändert und ins Nirvana zurückgegeben.

Wahrscheinlich hilft es dir wenn Du Die Rückgabe zuweist, und somit deine Variable "a" aus "main" initialisierst, das ganze besser zu verstehen:

Code: Alles auswählen

...
a = funktion(5,7);
...

Antworten