错误:标签(1)中语句中的非数字字符

时间:2014-11-12 13:03:28

标签: fortran

这是我使用

在ubuntu 14.04上编译的程序
f95 First.f -o First

,程序是

!My first program
program first
print *,'This is my first program'
end program first

我收到以下错误

Error:Non-numeric character at statement label at (1)
First.f:2.1:

program first

您如何解决此错误?

2 个答案:

答案 0 :(得分:26)

将文件从First.f重命名为First.f90

您遇到了一个容易避免的问题。编译器通常假设.f文件是用所谓的固定源格式编写的,自Fortran 90以来已经过时了。使用.f90后缀,您的编译器应该会遇到免费来源表单并没有像它一样抱怨。在固定源格式中,每行中的第1-6列保留用于(数字)语句标签。

现在,使用您最喜爱的Fortran资源,了解两种源表单之间的差异。

答案 1 :(得分:1)

正如其他答案所提到的,免费源形式是一个好主意,但是

如果由于某种原因您必须将程序保留在固定源代码形式中,则保留 6 个空格(前 6 列)并从第 7 列开始。

<块引用>

该格式为语句标签保留了前五列。第一列用于表示由字母 C 表示的注释。第六列用于表示语句继续(通过插入除零“0”以外的任何字符)。最后 8 列用于卡片识别和排序,如果您将一副纸牌掉在地板上,这将非常有价值!打孔卡的字符编码只有有限的字符集,并且只有大写。

出于这个原因,编译器需要前 6 列的数字语句标签或空格。 Error:Non-numeric character at statement label at (1) 就是这样的结果。

Source


TLDR:如果您必须使用固定源格式(.f 扩展名),请留下 6 个空格并从第 7 列开始,如下所示:

      program first
      print *,'This is my first program'
      end program first