Wie behalten Sie den Wert eines Funktionsarguments, wenn Sie es aufrufen, ohne eine neue Variable zu erstellen? Dies ist, wie kann ich das Argument nach Wert übergeben?Übergabe von Argumenten nach Wert in Fortran 95
In diesem Beispielcode:
program what
integer :: a,b,c,d
a=1
b=2
c=3
print *, a,b,c
d=f(val(a),val(b),val(c))
print *, d
print *, a,b,c
d=f(a,b,c)
print *, d
contains
function f(x,y,z) result(h)
integer:: x,y,z
integer :: h
h=x+y+z
x=0
y=0
z=0
end function
end program
wenn ich die Funktion zum zweiten Mal aufrufen, druckt es nur 0en.
BTW, bitte verwenden Sie einige Einrückungen in Ihren Codes. Hier ist es egal, aber es macht Ihren Code viel lesbarer. –
Normalerweise versuche ich, aber dieser Code war nur um meine Zweifel zu testen, also habe ich mich nicht viel Mühe gegeben; Danke für Ihren Rat :) –