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