错误:Fortran 格式字符串中格式字符串的意外结尾 [英] Error: Unexpected end of format string in format string in Fortran

查看:40
本文介绍了错误:Fortran 格式字符串中格式字符串的意外结尾的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试从 Fortran 77 程序编译复制代码时出现此错误.

Getting this error while trying to compile a copied code from a Fortran 77 program.

代码:

900 FORMAT(1H0,2X,'ABSOLUTE GRID LIMITS FOR DATA RETENTION FOR RADAR',I3,' XMIN-XMAX ',2F8.3,' YMIN-YMAX ',2F8.3,' ZMAX ',F8.3, /3X,'WITH AZIMUTH LIMITS OF',2F8.2, 3X,'AND RANGE LIMITS OF',2F10.3,/)

编译错误:

messy21.f90:529.132:

N FOR RADAR',I3,' XMIN-XMAX ',2F8.3,' YMIN-YMAX ',2F8.3,' ZMAX ',F8.3, /3X,(1)

Error: Unexpected end of format string in format string at (1)

我不确定错误的含义.

推荐答案

我的猜测(基于行中的错误位置,132)是:从 Fortran 90 开始,我们使用 free source form(自由格式源输入).每行最多可包含 132 个字符.如果您的语句更大,您最多可以使用 39 行(在当前的 Fortran 2003 标准中为 255)续行.Fortran 77 使用了固定源格式,这只是另一回事.

My guess (on the basis of error position in the line, 132) would be: starting from Fortran 90 we use free source form (free-form source input). Each line may contain up to 132 character. And if your statement is even bigger you can use up to 39 (255 in current Fortran 2003 standard) continuation lines. Fortran 77 used fixed source form which is just another story.

使用所谓的继续标记 (&) 来分隔你很长的FORMAT 语句,即

Use so-called continuation mark (&) to divide your very long FORMAT statement, i.e.

900 FORMAT(1H0,2X,'ABSOLUTE GRID LIMITS FOR DATA RETENTION FOR RADAR',I3,' XMIN-XMAX ',2F8.3,' YMIN-YMAX ',2F8.3,' ZMAX ',F8.3, &
/3X,'WITH AZIMUTH LIMITS OF',2F8.2, 3X,'AND RANGE LIMITS OF',2F10.3,/)

阅读一些 Fortran 90/95/2003 书籍或 Fortran 标准的相关部分.例如,在 Fortran 2003 标准中(Final Committee Draft,PDF,5MB) 3.3 Source form"部分包含相关信息.

Read some Fortran 90/95/2003 book or associated section of Fortran standard. For example, in Fortran 2003 Standard (Final Committee Draft, PDF, 5MB) section "3.3 Source form" contains relevant information.

这篇关于错误:Fortran 格式字符串中格式字符串的意外结尾的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆