fortran
関数によって本体の変数が書き換わっていることに注意.
COMMON A(10) DO 10 J=1,10 A(J) = FLOAT(J) 10 CONTINUE DO 50 K=1,10 X=A(10) Y= FS1(K,X) WRITE(*,*) 'K=', K,' X =', X, ' Y=', Y 50 CONTINUE STOP END C SUBROUTINE KEISAN1(K,X) C COMMON A(10) C X = A(K)*2.0+X C RETURN C END FUNCTION FS1(K,X) COMMON A(10) X = A(K)*2.0+X FS1 = K RETURN END