请考虑以下代码。它一次写入“n”个元素。对于intel编译器,“n”为5,对于pgi,“n”为4
icels=128
jcels=128
imat=2 ! just for example
write(ounit,*)
x ((real(pr(i,j,imat)),i=1,icels),j=1,jcels)
“x”是连续字符。我希望两个编译器的输出格式相同。一个例子:
6.2500001E-03 7.0312498E-03 7.8125000E-03 8.5937502E-03
9.3750004E-03 1.0156250E-02 1.0937500E-02 1.1718750E-02
.....
.....
如何用正确的格式替换*?更喜欢符合fortran77标准的答案。
答案 0 :(得分:1)
您可以用'(4(E13.6,1X))'(包括引号)替换*。这利用了名为format reversion的Fortran功能。
我会注意到你的代码已经不符合Fortran 77,所以我不确定你为什么担心它。