Fortran Coder

查看: 100|回复: 4

[流程控制] do循环错误

[复制链接]

4

帖子

2

主题

0

精华

新人

F 币
23 元
贡献
13 点
发表于 2017-11-11 10:52:51 | 显示全部楼层 |阅读模式
[Fortran] 纯文本查看 复制代码
70 i = l
  Do 71 j=1,m
    a(i, i) = a(i, i) + pmi(j)/3.D0
    a(i, i+1) = pmi(j)/6.D0
    a(i+1, i) = a(i, i+1)
    a(i+1, i+1) = pmi(j)/3.0D0
71 i=i+1

明明有71这条循环体,为什么还会报错:错误        2         error #8093: A do-variable within a DO body shall not appear in a variable definition context.   [J]        C:\Users\Administrator\Desktop\Source2.f90        174        


回复

使用道具 举报

485

帖子

0

主题

0

精华

宗师

F 币
1070 元
贡献
445 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2017-11-11 11:09:09 | 显示全部楼层
您好,在嵌套循环中,您不能在两层循环使用相同的循环变量。比如 Do i = 里面不能再有 Do i = ...,您可以用 Do j 来作为内部的循环变量。此外,循环体内也不允许改变循环变量的值。

4

帖子

2

主题

0

精华

新人

F 币
23 元
贡献
13 点
 楼主| 发表于 2017-11-11 12:25:36 | 显示全部楼层
vvt 发表于 2017-11-11 11:09
您好,在嵌套循环中,您不能在两层循环使用相同的循环变量。比如 Do i = 里面不能再有 Do i = ...,您可以 ...

这里我要是把 j 改为 js 变量的话,那下面do语句中再次出现的 j,我要是还改为 js 可以吗?还是说一定要改成 j 及 js 以外的变量 ?

485

帖子

0

主题

0

精华

宗师

F 币
1070 元
贡献
445 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2017-11-11 19:35:50 | 显示全部楼层
我只是告诉你错误的普遍原因,你给出的代码不能具体到更细致的原因。

4

帖子

2

主题

0

精华

新人

F 币
23 元
贡献
13 点
 楼主| 发表于 2017-11-12 16:37:56 | 显示全部楼层
vvt 发表于 2017-11-11 19:35
我只是告诉你错误的普遍原因,你给出的代码不能具体到更细致的原因。

谢谢你,我的错误已经改正了
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|QQ群|Fcode

GMT+8, 2017-12-18 15:07

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表