xzxfxh123 发表于 2017-11-11 10:52:51

do循环错误

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.         C:\Users\Administrator\Desktop\Source2.f90      174      


vvt 发表于 2017-11-11 11:09:09

您好,在嵌套循环中,您不能在两层循环使用相同的循环变量。比如 Do i = 里面不能再有 Do i = ...,您可以用 Do j 来作为内部的循环变量。此外,循环体内也不允许改变循环变量的值。

xzxfxh123 发表于 2017-11-11 12:25:36

vvt 发表于 2017-11-11 11:09
您好,在嵌套循环中,您不能在两层循环使用相同的循环变量。比如 Do i = 里面不能再有 Do i = ...,您可以 ...

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

vvt 发表于 2017-11-11 19:35:50

我只是告诉你错误的普遍原因,你给出的代码不能具体到更细致的原因。

xzxfxh123 发表于 2017-11-12 16:37:56

vvt 发表于 2017-11-11 19:35
我只是告诉你错误的普遍原因,你给出的代码不能具体到更细致的原因。

谢谢你,我的错误已经改正了
页: [1]
查看完整版本: do循环错误