Fortran程序,矩阵相乘中IF语句:IF(IND) 10,20,20怎么个读取顺序.为什么10,20,SUBROUTINE MXMLT(A,B,C,N,IND)\x05IMPLICIT REAL*8(A-H,O-Z)\x05DIMENSION A(N,1),B(N,1),C(N,1)\x05IF(IND) 10,20,2010\x05CONTINUE\x05DO 100 I=1,N\x05DO 100,J=1,N\x05S=0.0D0\x05DO 200 K=1,N\x05S=S+A(K,I)*B(K,J)\x05200\x05CONTINUE\x05C(I,J)=S100\x05CONTINUE\x05GOTO 50020\x05CONTINUE\x05DO 300 I=1,N\x05DO 300 J=1,N\x05S=0.0D0\x05DO 400 K=1,N\x05S=S+A(I,K)*B(K,J)\x05400\x05CONTINUE\x05C(I,J)=S300\x05CONTINU
问题描述:
Fortran程序,矩阵相乘中IF语句:IF(IND) 10,20,20怎么个读取顺序.为什么10,20,
SUBROUTINE MXMLT(A,B,C,N,IND)
\x05IMPLICIT REAL*8(A-H,O-Z)
\x05DIMENSION A(N,1),B(N,1),C(N,1)
\x05IF(IND) 10,20,20
10\x05CONTINUE
\x05DO 100 I=1,N
\x05DO 100,J=1,N
\x05S=0.0D0
\x05DO 200 K=1,N
\x05S=S+A(K,I)*B(K,J)
\x05
200\x05CONTINUE
\x05C(I,J)=S
100\x05CONTINUE
\x05GOTO 500
20\x05CONTINUE
\x05DO 300 I=1,N
\x05DO 300 J=1,N
\x05S=0.0D0
\x05DO 400 K=1,N
\x05S=S+A(I,K)*B(K,J)
\x05
400\x05CONTINUE
\x05C(I,J)=S
300\x05CONTINUE
500\x05CONTINUE
\x05RETURN
\x05END
答
IF(IND) 10,20,20
等效于
if ind 0 goto 20
这是老语法,不建议使用