Fortran程序实数输出异常求助:F3.1格式为何输出***
Fortran输出***的问题分析与解决
你遇到的问题核心是格式指定的输出宽度不足以容纳要显示的数值:
- 你用的
F3.1格式符,含义是总输出宽度为3位,其中小数点后保留1位。 - 变量A的值是342.3,按要求输出的话会显示为
342.3,这串字符的长度是5位(3个整数位+1个小数点+1个小数位),远大于指定的3位宽度。Fortran遇到这种宽度不足的情况,就会输出***来提示溢出。
解决方法很直接,把格式符的总宽度调整到足够容纳数值,比如改成F5.1,这样总宽度5位刚好能放下342.3;如果需要预留更多空间,也可以用F6.1这类更宽的格式。
至于你测试A=3时用I1格式能正常输出,是因为I1指定总宽度1,整数3刚好占1位,没有超出宽度限制,所以能正常显示。
内容的提问来源于stack exchange,提问作者rufia
相关产品推荐
相关产品推荐

