Fortran 的 findloc 与字符类型

Fortran's findloc with character type

我对 findloc 内在字符数组感到困惑。 节目

print *, findloc(['AB'],'A',dim=1)
end

产出

           1

虽然我预计 0

我以为findloc搜索相等,'A' /= 'AB'。 如果我将标量值设为与数组类型相同的值,那么我会得到我期望的结果:findloc(['AB'],'A ',dim=1) 给出 0

注意 findloc(['BA'],'A',dim=1) 确实给出了 0,所以我不认为 findloc 使用 index 函数。

我在 centos 7 上使用 ifort 18.0.3

我同意这是 Intel Fortran 的 findloc() 实现中的错误。我为我们的开发人员创建了一个英特尔错误报告。