主题:请教各位,关于module中可变数组传递问题
最近编个程序,module中定义一可变数组,以下是程序:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
module hhh
implicit none
public add
integer,save::a,b,c,h
integer,save,allocatable::d(:)
contains
subroutine add(a,b,c,d)
implicit none
integer::a,b,c
integer,allocatable::d(:)
a=1
b=2
c=a+b
allocate(d(2))
d=22
write(*,*) a,c,d
a=10
end subroutine
end module hhh
program main
use hhh
implicit none
call add(a,b,c,d)
write(*,*) a,c,d
end
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
最终结果:1 3 22 22
10 3 -572662307 -572662307
关于a,c结果很好理解,但是d结果不知在主程序里面却成了 -572662307 , 请教各位,谢谢了