在fortran中假设大小数组

时间:2018-01-15 16:13:57

标签: arrays fortran

我编写了以下程序来处理假定形状和假定大小的数组:

program test

implicit none

    integer, dimension(3) :: array

    array(1) = 1
    array(2) = 2
    array(3) = 3

    call mysub(array)

end program test

subroutine mysub(array)

    dimension array(*)

    print *, array(:3)

end subroutine mysub

我正在使用ifort进行编译,并有两个问题:

  • 子程序输出的随机值不等于主程序中指定的值。这是为什么?
  • 如果我用print *, array(:3)替换第19行print *, ubound(array),我会收到错误消息
  

test.f90(19):错误#6587:数组的上限不可计算   [UBOUND]

我确实希望能够检测子程序中假定大小数组的上限。我怎么能这样做?

0 个答案:

没有答案