Fortran字符串格式问题
我在用fortran编写学校作业的代码时遇到了一些问题。我试着在一行上写一个句子(根据讲师的要求),但我有格式问题 据我所知,我需要使用&来连接这两行(见下文) 我尝试过多种不同的方法,但都没有成功Fortran字符串格式问题,fortran,Fortran,我在用fortran编写学校作业的代码时遇到了一些问题。我试着在一行上写一个句子(根据讲师的要求),但我有格式问题 据我所知,我需要使用&来连接这两行(见下文) 我尝试过多种不同的方法,但都没有成功 '''[j87n896@csci305 fortran]$ gfortran money.f -o money money.f:94:67: 94 | write(*,*) lunks,'lunkers',loons,'loonters',lits,'littles'
'''[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)'''
如果您是以固定格式编码的,我相信您是这样的,那么可以通过在第二行的第六列中添加任何非零和非空字符来完成行继续:
write(*,*) lunks,'lunkers',loons,'loonters',lits,'littles',
+ poons, 'pooneys'
在上面的例子中,我使用了+
,但是第二行第6列中的任何非零/空白字符都可以。您还可以通过在第三行、第四行的第6列添加字符,将其扩展为多行
如果您是以自由形式编码,则可以通过在第一行末尾和下一行开头添加&
来完成后续操作(尽管最后一行并不总是必需的):
您可能会从阅读此非官方副本中受益。第6.3.2.4项描述了自由格式的延续,而第6.3.3.3项描述了固定格式的延续(我认为这是您的情况)。你不应该期望理解你在那里读到的每一件事,但是你越早开始尝试,它就越早对你有意义
另外,在您的示例中,在'littles'后面缺少一个逗号。。我在两个例子中都解决了这个问题。检查一下。我试着以自由格式在连续行和连续行中使用
&
,它编译并运行时没有任何错误或警告(gfortran 8)。我不确定它是否标准。无论如何,我删除了答案中不允许在两行中都包含&
的部分。在两行中都包含是标准的:在某些情况下实际上是强制的。只是检查了6.3.2.4中的标准。这是真的我相信一本好的教科书对一个普通的学习者来说是一个更好的资源(比如说,现代Fortran解释道)。非常感谢你们的帮助。非常感谢!!我可以发现两个问题。首先,符号可能位于错误的列()中,其次,列表()中缺少逗号()。此外,您可能正在尝试自由形式的延续,而不是固定形式的延续()。
write(*,*) lunks,'lunkers',loons,'loonters',lits,'littles', &
& poons, 'pooneys'