我的代码中有以下部分。
x=1.d0
y=1.d0
do while (x<5.0)
do while (y<3.0)
print*,'x=',x,' y=',y
y=y+1.d0
end do
print*,'x================',x
x=x+1.d0
end do
这里我的目的是通过y-do-loop为x-do-loop的x中的每次更新改变y值。但是,在第一个x循环之后,y循环不再执行,即我得到以下输出。
x= 1.0000000000000000 y= 1.0000000000000000
x= 1.0000000000000000 y= 2.0000000000000000
x================ 1.0000000000000000
x================ 2.0000000000000000
x================ 3.0000000000000000
x================ 4.0000000000000000
为了我的目的,我不能用do吗?如果是,可以进行哪些修改?感谢。
答案 0 :(得分:1)
您没有在外部循环中重置y
的值,因此在y
增加到3后,它永远不会再次小于3.您应该尝试:
x=1.d0
do while (x<5.0)
y=1.d0
do while (y<3.0)
print*,'x=',x,' y=',y
y=y+1.d0
end do
print*,'x================',x
x=x+1.d0
end do