首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Fortran隐含冒号做什么?

Fortran隐含冒号做什么?
EN

Stack Overflow用户
提问于 2012-08-01 23:03:51
回答 3查看 948关注 0票数 1

我们不得不将一些旧的Fortan77代码转换成VB.net。由于我们都不懂任何Fortran语言,我们已经取得了重大进展。然而,我们遇到了下面的write语句,它有两个嵌套的隐含do循环。我们熟悉隐含的do循环,但不知道MN:MN中冒号的意义是什么。我们只看到过使用逗号的隐式do循环,例如语句(NREC,MN)中的后一个。

代码语言:javascript
复制
Logical*1 DECLN(492)

WRITE(6,9238)NPERMN(NREC),CUSIPS(NREC),TICKRS(NREC),NAMES(NREC),(DECLN(MN:MN),MN=1,30),(SCORES(NREC,MN),MN=1,30))

format(I7, 1X, A8, 1X, A8, 1X, A20, 1X, 12A1, 1X, 12A1, 1X, 6A1/(12F10.5))
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-01 23:13:14

代码语言:javascript
复制
DECLN(MN:MN)

看起来像是从一个名为DECLN的字符变量中提取的1个字符。表达式

代码语言:javascript
复制
(DECLN(MN:MN),MN=1,30)

(这是一个io-implied-do表达式)会使程序将DECLN的前30个字符写成30个单独的字符。表单

代码语言:javascript
复制
(DECLN(1:30))

在一个30个字符的go中写入相同的字符。

可能DECLN(MN:MN)是秩1数组DECLN的1个元素部分,在这种情况下,编写DECLN(MN)是一种奇怪的方式

票数 4
EN

Stack Overflow用户

发布于 2012-08-01 23:13:32

DECLN(MN:MN)用于从字符串中提取单个字符。

票数 2
EN

Stack Overflow用户

发布于 2018-06-11 08:10:02

正如更新中所指出的,DECLN不是字符;它是1字节的逻辑数组(包含有关证券的信息)。(DECLN(MN:MN),MN=1,30)识别前30个元素,但我认为更容易写(DECLN(MN),MN=1,30)。CUSIP(9位代码)是用A8编写的,它截断了校验和(典型的足够的过程,我相信Brian知道这一点,因为大多数结算机构都忽略它)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11762081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档