楼主:
laa7352 (Laa)
2014-10-23 09:48:00请参考如下
program main_test
real,allocatable :: aaa(:,:,:,:)
real,allocatable :: bbb(:,:,:,:)
integer ii,jj,kk
! ii,jj,kk=.....
allocate ( aaa(ii,jj,kk,3) )
allocate ( bbb(ii,jj,kk,3) )
do i=1,kk
...
aaa(...)=...
bbb(...)=...
..
enddo
call sub_test (aaa,bbb,ii,jj,kk)
stop
end
subroutine sub_test(aaa,bbb,ii,jj,kk)
real :: aaa,bbb
integer :: ii,jj,kk
dimenstion aaa(ii,jj,kk,3)
dimenstion bbb(ii,jj,kk,3)
print*, aaa,bbb
return
end
※ 引述《zx168zx (zx168zx)》之铭言:
: 小弟想请益一下
: 如何将主程式所设定好的矩阵传入副程式
: 小弟的矩阵是四维的
: 一开始先设定allocatable的四维可变矩阵
: allocatable :: aaa(:,:,:,:)
: allocatable :: bbb(:,:,:,:)
:
作者: screase (crossstep) 2014-10-23 10:02:00
副程式内要先宣告real :: ii,jj,kk才能接收参数另外,3这个常数参数传递方式错了 必须用变量去接收实际上也没有传递3的需要 因为直接在宣告大小里写出就好抱歉 是宣告integer :: ii,jj,kk才对