Hallo again
Ich habe noch eine Frage:
Code:
procedure unterprogramm(var u_zahl:integer);
begin
u_zahl:=u_zahl*7;
end;
begin
.
.
.
zahl:=5;
unterprogramm(zahl);
.
.
.
end.
Im Hauptprogramm wird "zahl" der Wert 5 zugewiesen. Dann wird Das Unterprogramm aufgerufen, in dem zahl mit 7 multipliziert wird. Dann gibt das Unterprogramm die Variable wieder an das Hauptprogramm zurück, in dem zahl dann 7x größer ist, als vor dem Unterprogramm.
Wieso aber weiß das Unterprogramm von "zahl"? zahl wird doch nur per "var u_zahl:integer" an das Hauptprogramm
zurückgegeben aber nicht hineingegeben?! Wird eine Variable per var herausgegeben UND hineingegeben?
Fragen: Warum heißt es nicht:
Code:
procedure unterprogramm(zahl:integer;var u_zahl:integer);
begin
u_zahl:=u_zahl*7;
end;
begin
.
.
.
zahl:=5;
unterprogramm(zahl,zahl);
.
.
.
end.
Ich weiß, dass das erste Beispiel funktioniert, finde es aber seltsam, da man "zahl" doch auch hineingeben sollte. Sorry für die etwas laienhafte Wortwahl, aber ich hab noch keinen Programmierer-Slang.
Amandus