一段fortran程序,do后面的数字跟continue前面的数字各有什么作用?
do107ib=1,nnbij=ngs(ib,temp3)kb=ngb(ib,temp3)if(bv(kb).eq.0)goto107if(nc(ij).ne.nc(te...
do 107 ib=1,nnb
ij=ngs(ib,temp3)
kb=ngb(ib,temp3)
if(bv(kb).eq.0) goto 107
if(nc(ij).ne.nc(temp3)) then
if(isp(ij).eq.1) then
nstack=nstack+1
istn(nstack)=ij
isp(ij)=2
nc(ij)=nc(temp3)
c(temp2)=c(temp2)+1
bd(temp2)=bd(temp2)+1
nnw =nnw+1
endif
goto 107
endif
lx1=lx0+dx(ib)
ly1=ly0+dy(ib)
if(isp(ij).eq.2) then
nstack=nstack+1
istn(nstack)=ij
isp(ij)=2
nnw =nnw+1
lx(ij)=lx1
ly(ij)=ly1
else
if(lx(ij).ne.lx1) lcx=1
if(ly(ij).ne.ly1) lcy=1
if((lx(ij).ne.lx1).or.(ly(ij).ne.ly1)) lcr=1
endif
107 continue
if(nstack.eq.0) goto 108
ik=istn(nstack)
nstack=nstack-1
lcr=lcx*lcy*lcz
if(lcr.eq.0) then
lx0 =lx(ik)
ly0 =ly(ik)
endif
goto 110
108 continue
sw2 =sw2 +(nnw*wn)**2
sw4 =sw4 +(nnw*wn)**4
第一行的 do 107 跟后面的107 continue ,这两个都是107,第四行goto 107 ,15行也是goto 107 ,到底这两个goto都是去了哪呢? 展开
ij=ngs(ib,temp3)
kb=ngb(ib,temp3)
if(bv(kb).eq.0) goto 107
if(nc(ij).ne.nc(temp3)) then
if(isp(ij).eq.1) then
nstack=nstack+1
istn(nstack)=ij
isp(ij)=2
nc(ij)=nc(temp3)
c(temp2)=c(temp2)+1
bd(temp2)=bd(temp2)+1
nnw =nnw+1
endif
goto 107
endif
lx1=lx0+dx(ib)
ly1=ly0+dy(ib)
if(isp(ij).eq.2) then
nstack=nstack+1
istn(nstack)=ij
isp(ij)=2
nnw =nnw+1
lx(ij)=lx1
ly(ij)=ly1
else
if(lx(ij).ne.lx1) lcx=1
if(ly(ij).ne.ly1) lcy=1
if((lx(ij).ne.lx1).or.(ly(ij).ne.ly1)) lcr=1
endif
107 continue
if(nstack.eq.0) goto 108
ik=istn(nstack)
nstack=nstack-1
lcr=lcx*lcy*lcz
if(lcr.eq.0) then
lx0 =lx(ik)
ly0 =ly(ik)
endif
goto 110
108 continue
sw2 =sw2 +(nnw*wn)**2
sw4 =sw4 +(nnw*wn)**4
第一行的 do 107 跟后面的107 continue ,这两个都是107,第四行goto 107 ,15行也是goto 107 ,到底这两个goto都是去了哪呢? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询