首页 > 解决方案 > Fortran 字符串格式问题

问题描述

我在为学校作业使用 fortran 编码时遇到了一些问题。我正在尝试在一行上写一个句子(根据讲师的要求),但我遇到了格式问题。

据我了解,我需要使用 & 来连接这两行(见下文)我尝试了多种变体,但我没有运气。

'''[j87n896@csci305 fortran]$ gfortran money.f -o money
money.f:94:67:

   94 |          write(*,*) lunks,'lunkers',loons,'loonters',lits,'littles'   &
      |                                                                   1:

   95 |          &          poons, 'pooneys'
      |          1
Error: Invalid character in name at (1)'''

标签: fortran

解决方案


如果您以固定形式编码- 我相信您是 - 通过在第二行的第六列中添加任何非零和非空白字符来完成行继续:

      write(*,*) lunks,'lunkers',loons,'loonters',lits,'littles',
     +     poons, 'pooneys'

在上述情况下,我使用了 a +,但第二行第 6 列中的任何非零/空白字符都可以。您还可以通过在第三行、第四行等的第 6 列添加字符来扩展它以拆分为更多行。

如果您以自由形式编码,则通过在第一行的末尾和下一行的开头添加 a 来完成延续&(尽管并不总是需要最后一个):

write(*,*) lunks,'lunkers',loons,'loonters',lits,'littles', &
& poons, 'pooneys'

您可能会从阅读Fortran 标准的非官方副本中受益。项目 6.3.2.4 描述了自由格式的延续,而项目 6.3.3.3 描述了固定格式的延续(我相信这是你的情况)。你不应该期望理解你在那里读到的每一件事,但你越早开始尝试,它就越早对你有意义。

此外,在您的示例中,在 'littles' 之后缺少一个逗号。我在这两个例子中都解决了这个问题。一探究竟。


推荐阅读