1

我无法弄清楚这个“9999”在e20.8前面做什么,在这个fortran write语句的标签中。

Is 不引用代码中的任何其他行。换句话说,在程序的其他地方没有它引用的标记为 9999 的行。

write(11,'(9999e20.8)') (9999.0, i=1,2*(numant+numunique))

我很困惑——我还没有从谷歌网络搜索中找到答案,尽管我认为我对 write 语句的语法和格式有了大致的了解。

提供的信息是否足够有意义?

4

1 回答 1

3

这是一个重复计数;格式代码的一般格式是 (count)(type)(format),例如,如本教程中所述。

与基于 C 的语言不同,未使用的格式化代码会被简单地忽略,因此这一行本质上是说“以科学格式(小数点后 8 位)写出与以下输出列表中一样多的实数”。(如果您不喜欢这种方式,使用硬编码的“足够大”的数字,则必须以编程方式生成格式字符串以获得“正确的”重复代码。

输出列表是一个隐含的循环,它生成数字 9999.02*(numant+numuniqe)次。

于 2012-10-31T16:56:44.523 回答