File Fortran77中(1)处的不可分类语句和(1)处的意外数据声明语句?
我正在用Fortran 77计算文件中的行数 (我的文件有两列,都有数字) 我得到一个不可分类的声明和意外的数据声明,我不知道为什么。这是我的代码:(fortran 77新增): 这是我的数据文件:(只是一个测试仪,这样我就可以数到8行): 1 100 2 200 3 300 4 400 5 500 6 600 7 700 8800 以下是我的错误: 练习。适用于:58.6:File Fortran77中(1)处的不可分类语句和(1)处的意外数据声明语句?,file,count,fortran,gfortran,fortran77,File,Count,Fortran,Gfortran,Fortran77,我正在用Fortran 77计算文件中的行数 (我的文件有两列,都有数字) 我得到一个不可分类的声明和意外的数据声明,我不知道为什么。这是我的代码:(fortran 77新增): 这是我的数据文件:(只是一个测试仪,这样我就可以数到8行): 1 100 2 200 3 300 4 400 5 500 6 600 7 700 8800 以下是我的错误: 练习。适用于:58.6: FUNCTION NUMLIN
FUNCTION NUMLIN
1
错误:位于(1)的不可分类语句
练习。适用于:59.32:
INTEGER*8 PRECISION NUMLIN
1
错误:(1)处的符号“precisionnumlin”已具有整数的基本类型
练习。适用于:60.72:
CHARACTER*256 LINE
1
错误:位于(1)的意外数据声明语句
练习。适用于:61.7:
100 READ(UNUM,*,END=200)
1
错误:名称中的无效字符位于(1)
练习。适用于:62.6:
LINE
1
错误:位于(1)的不可分类语句
练习。适用于:65.7:
200 CONTINUE
1
错误:名称中的无效字符位于(1)
练习。适用于:41.10:
DATA FILEN /'linecounttester.txt'/
1
错误:位于(1)的数据语句中的类型不兼容;试图将字符(1)转换为实数(4)
练习。适用于:46.16:
OPEN(UNIT=UNUM, FILE = FILEN, STATUS='OLD')
1
错误:(1)处的单位标记必须是整数类型
练习。适用于:64.72:
GOTO 100
1
错误:从未定义在(1)处引用的标签100
练习。适用于:1.72:
PROGRAM EXERCISE
1
练习。适用于:70.72:
REWIND(UNUM)
2
错误:两个主程序位于(1)和(2)
有人能帮我吗?您正在混合名称空间 你有一个
PROGRAM
语句,它需要相应的
END
语句,然后再开始声明函数
这将修复您看到的编译错误。但是,我看不到您实际上在哪里调用您创建的函数。换句话说,您似乎是在定义一个函数而没有实际使用它。我建议您首先编写没有函数的代码,只是为了确保它能正常工作。然后把它分开,直到你掌握了窍门:)
编辑:我也支持你问题下的评论,关于你使用的奇怪语法。虽然我不会劝阻您使用FORTRAN77,但我希望您有很好的理由这么做;) 就我个人而言,我不再帮助人们写FORTRAN77。这相当于帮助人们在没有麻醉的情况下快速截肢。出于同样的原因:有更现代的方法,对所有相关方来说都不那么痛苦。如果我想帮你,我的第一步就是问你为什么要在你发布的代码中没有出现的行(例如
程序号countingexercise
)中报告错误。我会学究式地说,这个源代码不是FORTRAN 77。整数*8是非标准的。而且,“真正精确的UNUM”可能并不意味着你认为它是什么。我同意HPM的观点,即消息似乎与源不匹配。这是不是精度
可能是某种遗留扩展?当然不是f77。数据类型的真实精度?是的,在标准fortran(任何年份)中都没有这样的数据类型。编译器认为您正在声明一个名为PRECISIONUNUM
的REAL
变量(注意,在fortran中空格并不重要)。
END