1
我第一次在gfortran中編譯一箇舊的.for文件(Fortran 77),並且獲得了以前從未見過的錯誤(使用另一個我無法訪問的編譯器)。誤差如下:使用gfortran在Fortran中格式化字符串錯誤
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錯誤:FORMAT標籤98在(1)沒有定義 smog5.for:153:21:
write (1,96) (E(i),i=1,10)
1錯誤:FORMAT標籤96在(1)沒有定義
的麻煩代碼(一個更大的計劃之內)位似乎是:
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描述符錯誤。
根據一個編譯器的文檔,非標準P本身相當於0P。 (在這個例子中,它看起來與沒有p一樣,...) – agentp
,也就是說。 '0p'重置之前的p。在這種情況下沒有,所以它什麼都不做。 – agentp
M.S.B,你搖滾!我以前使用的fortran編譯器假設(如agentp建議的那樣),未指定的P將等於0P。但gfortran顯然不是!我添加了1個整數作爲1pe9.3並正確編譯。非常感謝! – Scott