是否可以使用IF语句检查数组是否为特定形状?我尝试了以下方法,但没有成功。
program main
implicit none
! Local variables.
integer, dimension(3,3) :: a
integer, dimension(3,3) :: b
! Check if a is a 3x3 array.
if (shape(a) == shape(b)) print *, "Works"
end program main
但是我得到了错误:
Error: IF clause at (1) requires a scalar LOGICAL expression
答案 0 :(得分:1)
data()
是逻辑数组(shape(a) == shape(b))
,因为它比较[ T T ]
的第一行和a
的第一行,依此类推。
您需要一个逻辑标量:b
确保每个维度都相同。