fortran 中 interface

可变大小数组作为参数传递时,需要用interface

 

例子:

program test
implicit none
real,allocatable :: array(:)
real             :: summ
allocate(array(5))

array=8.
call passarray(array, summ)
write(*,*)summ

end


subroutine passarray(array,summ)
  real,intent(in)    :: array(:)
  real,intent(out)   :: summ
  write(*,*)array
  summ=sum(array)
end subroutine passarray

用ifort编译,运行结果为0.0000000E+00

 

如果在program 中加interface

则运行结果为

 8.000000       8.000000       8.000000       8.000000       8.000000   
   40.00000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值