我在Sublime Text中复制并粘贴了以下程序,来自Fortran 77 tutorial:
program circle
real r, area
c This program reads a real number r and prints
c the area of a circle with radius r.
write (*,*) 'Give radius r:'
read (*,*) r
area = 3.14159*r*r
write (*,*) 'Area = ', area
stop
end
我将其保存为circle.f
并从终端(macOS Sierra)编译:
gfortran circle.f
它返回了错误消息:
circle.f:1:1:
program circle
1
Error: Non-numeric character in statement label at (1)
circle.f:1:1:
program circle
1
Error: Unclassifiable statement at (1)
我该如何解决? (The answer对于另一个类似的问题并没有解决问题。)
答案 0 :(得分:2)
Fortran 77具有固定的格式源。只有第7列和第73列之间的字符可用于语句。 (前6个字符用于将整行注释为数字标签,或者表示此行是前一个的延续。)第74个及以后的字符被忽略。
在此范围内,会忽略空格。所以以下几行是相同的:
column 1 1 2 2 3 3 4 4
1 5 0 5 0 5 0 5 0 5
-----------------------------------------------
if (i .le. 10) call my_sub(i)
if(i.le.10)callmy_sub(i)
i f ( i. le .10) cal lmy_ sub(i)
我可以决定哪一个最容易阅读。
但是如果你从第一个角色开始,即使是起始"程序"声明,编译器会抱怨。它期望c
,C
,!
(声明整行评论)或数字作为数字标签的开头。