主题:定义的函数变换了位置后出了问题
自己编了个小程序,下面的程序运行没问题,但是如果将Y(X)=A*X+B放在A=2.5,B=3的下面就出了问题。说是Y(x)没有被定义为数组。为什么会这样呢?
program MAIN
PARAMETER N=10
REAL X1(N),C(N)
real A,B
[color=000000][color=000000][color=FFFFFF][color=008000][color=800000][color=808000][color=000080][color=800080][color=808080][color=FFFF00][color=00FF00][color=00FFFF][color=FF00FF][color=C0C0C0][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000][color=C0C0C0][color=FF00FF][color=00FFFF][color=00FF00][color=FFFF00][color=808080][color=800080][color=000080][color=808000][color=800000][color=008000][color=800000][color=808000][color=000080][color=800080][color=808080][color=FFFF00][color=00FF00][color=00FFFF][color=FF00FF][color=C0C0C0][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000]Y(X)=A*X+B
A=2.5
B=3.[/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color]
DO 101 I=1,N
X1(I)=FLOAT(I)+2.3
C(I)=Y(X1(I))
WRITE(*,*)I,X1(I),C(I)
101 CONTINUE
END
program MAIN
PARAMETER N=10
REAL X1(N),C(N)
real A,B
[color=000000][color=000000][color=FFFFFF][color=008000][color=800000][color=808000][color=000080][color=800080][color=808080][color=FFFF00][color=00FF00][color=00FFFF][color=FF00FF][color=C0C0C0][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000][color=C0C0C0][color=FF00FF][color=00FFFF][color=00FF00][color=FFFF00][color=808080][color=800080][color=000080][color=808000][color=800000][color=008000][color=800000][color=808000][color=000080][color=800080][color=808080][color=FFFF00][color=00FF00][color=00FFFF][color=FF00FF][color=C0C0C0][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000]Y(X)=A*X+B
A=2.5
B=3.[/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color]
DO 101 I=1,N
X1(I)=FLOAT(I)+2.3
C(I)=Y(X1(I))
WRITE(*,*)I,X1(I),C(I)
101 CONTINUE
END