我是Fortran的新手,我想知道为什么MAXLOC(和MINLOC)似乎忽略了数组边界。例如,
integer, dimension(-4:0) :: eps = (/10,20,30,20,10/)
write(*, *) lbound(eps), " ", ubound(eps)
write(*, *) maxloc(eps)
产生以下输出
-4 0
3
我期望MAXLOC为-2。似乎无论定义什么数组界限,MAXLOC始终将1用作下限。我想知道为什么会这样,或者我做错了什么。我正在使用gfortran 8.2.1。