我是一个很新的Fortran 90用户,正在学习如何编程。目前,我正在尝试创建一个矩阵乘法程序。但是,我遇到了一个错误。
Program Matrix_Multiplication
Implicit None
Real, Dimension(2:2) :: A, B, C
Integer :: i, j, k
A = 0.0
B = 0.0
C = 0.0
do i = 1, 2
do j = 1, 2
Read (80, *) A
Read (90, *) B
Write (100, *) A, B
end do
end do
Call subC(A, B, C)
Write (110, *) C
End Program Matrix_Multiplication
Subroutine subC(A, B, C)
Implicit None
Real, Intent(IN) :: A, B
Integer :: i, j, k
Real, Intent(OUT) :: C
do i = 1, 2
do j = 1, 2
C = C(i, j) + (A(i, j)*B(j, i))
end do
end do
return
End Subroutine
编译时:
C(i, j) = (A(i, k)*B(k, j)) 1 错误:第1行无法分类的语句
subC
中的参数声明为数组。 - francescalusC
被使用而没有初始化。C=..
语句是对整个数组的赋值,语法上是有效的,但肯定不是您想要的。 - agentp