Fortran Coder

标题: do循环错误 [打印本页]

作者: xzxfxh123    时间: 2017-11-11 10:52
标题: do循环错误
[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        



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

这里我要是把 j 改为 js 变量的话,那下面do语句中再次出现的 j,我要是还改为 js 可以吗?还是说一定要改成 j 及 js 以外的变量 ?
作者: vvt    时间: 2017-11-11 19:35
我只是告诉你错误的普遍原因,你给出的代码不能具体到更细致的原因。
作者: xzxfxh123    时间: 2017-11-12 16:37
vvt 发表于 2017-11-11 19:35
我只是告诉你错误的普遍原因,你给出的代码不能具体到更细致的原因。

谢谢你,我的错误已经改正了




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2