我对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函数。

我在ifort 18.0.3上使用centos 7

最佳答案

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

关于fortran - 具有字符类型的Fortran的findloc,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54258795/

10-09 00:48