回 帖 发 新 帖 刷新版面

主题:求助 运行程序出现severe(66) 错误

运行程序是出现forr1:severe (66):output statement overflows record unit 10提示


原程序代码为:

PROGRAM TEST1211
IMPLICIT NONE

CHARACTER(256) :: FileName
CHARACTER(41) :: Sta
INTEGER :: Round

PRINT *, '请输入要统计的球队名称:'
READ(*, *) FileName
OPEN(UNIT = 10, FILE = TRIM(FileName), FORM = 'FORMATTED', ACCESS = 'DIRECT', RECL = 76)
PRINT *, '开始建立数据文件'
PRINT *, '请依次输入球队的胜负,比分,得分王,篮板王,助攻王[键入EXIT可结束输入]:'
Round = 0
DO
Round = Round + 1
WRITE(*, '(1X, "请输入第", I2, "轮统计数据:")') Round
READ(*, '(A4:1X, A7, 3(1X, A10))') Sta(1:4), Sta(5:11), Sta(12:21), Sta(22:31), Sta(32:41)
IF('EXIT' == Sta(1:4)) THEN
EXIT
ENDIF
WRITE(10, 100, REC=Round) Sta(1:4), Sta(5:11), Sta(12:21), Sta(22:31), Sta(32:41)
100 FORMAT("胜负:", A4, 1X, "比分:", A7, 1X, "得分王:", A10, 1X, "篮板王:", A10, 1X, "助攻王:", A10)
ENDDO
CLOSE(10)

END PROGRAM TEST1211


如果我将RECL的值改大些,比如100,则可运行,但我觉得RECL设为76已经足够,不解其故,求各位大神,大侠解答

回复列表 (共2个回复)

沙发

胜负:
比分:
得分王:
篮板王:
助攻王:

以上18个汉字,36字节。

A4
A7
A10 3个
一共 41 字节。

1X 4个

总字节 = 36 + 41 + 4 = 81 个字节。你的 76 怎么算的?

板凳

我明白错误了 应该是汉字部分后的冒号出错了 如果为英文格式 就是76个字节 谢谢老师解答

我来回复

您尚未登录,请登录后再回复。点此登录或注册