当我在Fortran 2003中编译我的代码时,我得到了这个错误:
error #8093: A do-variable within a DO body shall not appear in a variable definition context.
这是我代码的一部分:
do k = v(i)-1, v(i)+1
if (k == 0) then
k= Nb
end if
if (k == Nb+1) then
k=1
end if
end do
k
被认为是整数和
integer, dimension (10):: v=0
有人帮我吗?我的代码有什么问题吗?
发布于 2014-03-19 15:46:52
这个错误正好告诉您问题所在:,您不能重新定义,循环变量在do-循环中。
您可能需要第二个变量(例如kk
)来完成您需要它做的事情:
do k = v(i)-1, v(i)+1
if (k == 0) kk= Nb
if (k == Nb+1) kk=1
end do
发布于 2014-03-19 15:45:41
您正在尝试从循环中更改循环变量。如果确实希望这样做,请使用以下内容:
! Infinite Loop
k = v(i)-1
do
if ( k == 0 ) then
k = Nb
endif
if ( k == Nb+1 ) then
k = 1
endif
k = k + 1
if ( k > v(i)+1 ) exit
enddo ! k
https://stackoverflow.com/questions/22510845
复制相似问题