You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fortran 77行续接是否必须在第73列放置&符号?

Fortran 77行尾第73列&符号的作用说明

首先直接给出核心结论:标准Fortran 77固定格式语法中,第73列的&不是行续接的必需项,是否可删除取决于你使用的编译器和编译选项。

基础规则背景

标准Fortran 77采用固定格式语法,对每行列的用途有严格定义:

  • 第1-5列:语句标号区
  • 第6列:续行标记区(非空格/非0的字符就代表当前行是上一行的续行,你已知的第6列&就是这类标记)
  • 第7-72列:有效代码区
  • 第73列及以后:默认被编译器忽略,最初是为穿孔卡预留的序号位

行尾&的实际用途

你看到的第73列的&,是多数现代Fortran编译器新增的非标准扩展特性,主要用于开启「允许代码行超过72列」的编译选项时,明确标记当前行需要续接,避免编译器把72列之后的内容识别为有效代码产生歧义。

不同场景下的处理建议

  • 如果你使用严格兼容标准Fortran 77的编译规则(不开启长行扩展):73列的&会被编译器直接忽略,完全可以删除,只靠第6列的续行标记就能正常完成行续接,删除后的标准写法如下:
CHARACTER*256 MYSTRING
      DATA MYSTRING / 'Lorem ipsum dolor sit amet, consectetur adipiscin
     &g elit, sed do eiusmod tempor incididunt ut labore et dolore magna
     & aliqua.' /
      PRINT *, MYSTRING
  • 如果你使用较新的编译器,且开启了支持长于72列代码行的扩展选项:建议保留73列的&,部分编译器在该模式下如果没有行尾&,会将前后两行识别为独立语句,引发字符串未闭合的语法错误。
  • 如果没有强制使用Fortran 77的要求,更建议切换到Fortran 90及以后的自由格式语法,不需要受列数限制,续行规则也更灵活。

内容的提问来源于stack exchange,提问作者Flux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:06:03