学习fortran 发表于 2014-7-21 16:48:14

求大神解决H编辑符和八进制常数的warning,谢谢!

1,This Hollerith or character constant is too long and cannot be used in the current numeric context.
2,This octal constant is too large in this context.
这两个问题该如何修改,请大神指教

vvt 发表于 2014-7-21 16:48:50

最好给出错误行的代码

学习fortran 发表于 2014-7-21 16:57:00

补充错误行信息:
1. IF(OPTION.EQ. 8HENDBLOCK ) IEND=3
   warning #6043: This Hollerith or character constant is too long and cannot be used in the current numeric context.   
2. IGTBL(3,45) =O"00000001750000000020"
    error #6045: This octal constant is too large in this context.   
请大神指点

vvt 发表于 2014-7-21 17:00:38

IF(OPTION.EQ. 8HENDBLOCK ) IEND=3
此处的相等判断,是字符串判断,而不是格式符,所以不能用 H 编辑符。可修改为
IF(OPTION=="ENDBLOCK" ) IEND=3

IGTBL(3,45) =O"00000001750000000020"
这里的八进制太长了,你是想表达 134217728016 这么大的数么?

学习fortran 发表于 2014-7-21 17:03:51

vvt 发表于 2014-7-21 17:00
IF(OPTION.EQ. 8HENDBLOCK ) IEND=3
此处的相等判断,是字符串判断,而不是格式符,所以不能用 H 编辑符 ...

这个八进制的数多大,是在哪查询呢?
而且我这些语句是在源程序中大量存在的,是不是在普通计算机上不能使用啊?

vvt 发表于 2014-7-21 17:17:05

这取决于你对 IGTBL 的定义,看看它是整型,还是长整型。
整型最大一般是到 2147483648,长整型可以到 9223372036854775808

学习fortran 发表于 2014-7-21 18:17:15

vvt 发表于 2014-7-21 17:17
这取决于你对 IGTBL 的定义,看看它是整型,还是长整型。
整型最大一般是到 2147483648,长整型可以到 9223 ...

非常感谢你的解答
页: [1]
查看完整版本: 求大神解决H编辑符和八进制常数的warning,谢谢!