Gfortran:使用实数作为数组索引 [英] gfortran: using real numbers as array indices

查看:0
本文介绍了Gfortran:使用实数作为数组索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在使用gfortran编译时,是否可以使用实数作为迭代器和数组索引?以下是一些示例代码:

program test
    real i
    real testarray(5)
    testarray = 0.
    do i=1,5
        write(*,*) testarray(i)
    end do
end program

我想运行一些不是我编写的代码。它在Windows上用英特尔编译器编译得很好,但我想在Linux上用gfortran编译器编译并运行它。我当前使用实数作为数组索引并执行循环迭代器时遇到错误。

谢谢!

推荐答案

如果您不想看到警告,请尝试--std=Legacy。否则就是"gnu",正如前面所说的。Gfortran手册说明:

作为扩展,GNU Fortran允许使用实数表达式或 变量作为数组索引。

Std的缺省值是‘gnu’,它指定 Fortran 95标准,包括支持的所有扩展 GNU Fortran,尽管会对过时的扩展发出警告 不建议在新代码中使用。"遗留"值是等效的 但没有过时扩展的警告,可能会有用 用于旧的非标准程序。

使用实数变量作为循环索引已从Fortran 95的语言标准中删除。由于使用它的遗留代码很多,因此它可能会在编译器中保留数十年。

这篇关于Gfortran:使用实数作为数组索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆