【发布时间】:2017-12-11 07:59:51
【问题描述】:
在 fortran 中,是否可以对受内在函数约束的数组元素进行索引?我特别指的是transpose 函数。在下面的代码中,我正在生成并初始化一个名为 A 的数组,并尝试在转置后的数组中索引一个值
program test
integer, dimension(5,3) :: A
integer :: i,j
A = reshape((/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15/), shape(A))
print *, transpose(A)(1,1)
end program test
但是我收到如下语法错误:
**D:\TEMP\FortranTest>gfortran -o 测试 Transposecommand.f90 Transposecommand.f90:11:22:
打印 *, 转置(A)(1,1) 1 错误: (1) 处的 PRINT 语句中的语法错误**
有没有办法实现这一点而不必声明一个单独的变量然后将转置数组分配给它?如果可能的话,我想避免声明新变量...
【问题讨论】:
-
那是“你为什么要那样做”之一。问题。既然可以
print *, A(m,n),为什么还要print *, transpose(A)(n,m)?