【发布时间】:2019-05-14 16:24:52
【问题描述】:
我在分配时使用自动分配来计算两个数组的差异,边界从 0 开始:
program main
implicit none
integer, allocatable :: a(:), b(:), c(:)
allocate(a(0:10))
allocate(b(0:10))
a = 1
b = 2
write (*,*) lbound(a)
write (*,*) lbound(b)
c = b - a
write (*,*) lbound(c)
end program main
gfortran 和 ifort 都给出输出:
0
0
1
为什么 c 的边界与 a 和 b 不同?有没有一种简洁(没有明确分配)的方法来确保 c 具有相同的界限?
【问题讨论】: