使用gfortran格式化Fortran中的字符串错误

时间:2016-02-20 05:37:40

标签: format fortran

我是第一次在gfortran中编译一个旧的.for文件(Fortran 77),并且得到了我以前从未见过的错误(使用了另一个我无法访问的编译器)。错误如下:

smog5.for:159:32:

98   format (1x,f4.1,5x,14(1x,pe9.3))

1错误:P描述符需要格式字符串中的前导比例因子(1) smog5.for:161:35:

96   format (/'Emissions:',10(1x,pe9.3))

1错误:P描述符需要格式字符串中的前导比例因子(1) smog5.for:141:20:

      write (1,98) etime,(c(i),i=1,10),o,oh,rk(1),rk(6)

1错误:未定义(1)处的FORMAT标签98 smog5.for:153:21:

       write (1,96) (E(i),i=1,10)

1错误:(1)未定义的格式标签96

麻烦的代码(在一个更大的程序中)似乎是:

  goto 10  

 98   format (1x,f4.1,5x,14(1x,pe9.3))
 97   format (/'end day',i2/)
 96   format (/'Emissions:',10(1x,pe9.3))

  end


  subroutine hybrid(n,c,rk,tin,tout,E,dep,vent,etime,o,oh,m,o2)

有人可以帮我弄清楚这里的语法有什么问题吗?或者这是否可以通过其他编译器解决?遗憾的是,我没有访问以前的编译器,因为它是在以前的学校的安全服务器上。我已将程序翻译为.f90但得到相同的P描述符错误。

1 个答案:

答案 0 :(得分:2)

P格式说明符需要前面的数字,例如1pe9.3P说明符在输入和输出方面的行为不同。它对输出很方便,但输入却很奇怪 - 请参阅文档。

关于未定义格式标签的错误消息是格式字符串(P描述符)错误的结果,应该在解决时解决。