在Fortran中的同一行上打印

时间:2016-11-25 22:33:03

标签: fortran

 if (mod(n,2) == 0) then
       write(stdout, *) "Even"
    else
       write(stdout, *) "Odd "
  end if

我想打印Even Odd Even Odd。 为什么我不能使用$描述符呢?

1 个答案:

答案 0 :(得分:5)

您的代码中没有$描述符!

但不,标准Fortran中没有$描述符。有些编译器将它作为扩展而其他编译器则没有。如果你想要便携式程序,请不要使用它。

Fortran 90标准符合方式是使用advance='no'的非前进O / O.请注意,它需要格式,而不是列表导向的输入。

write(stdout, some_format, advance='no') "Even"

some_format可以是'(a)''(g0)'或适用的任何内容。

此外,有关警告,请参阅http://www.cs.rpi.edu/~szymansk/OOF90/bugs.html#3(摘要:仍有记录长度限制)。