精选问答
一段fortran程序,do后面的数字跟continue前面的数字各有什么作用?do 107 ib=1,nnbij=ngs(ib,temp3)kb=ngb(ib,temp3)if(bv(kb).eq.0) goto 107if(nc(ij).ne.nc(temp3)) thenif(isp(ij).eq.1) thennstack=nstack+1istn(nstack)=ijisp(ij)=2nc(ij)=nc(temp3)c(temp2)=c(temp2)+1bd(temp2)=bd(temp2)+1

2019-05-30

一段fortran程序,do后面的数字跟continue前面的数字各有什么作用?
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都是去了哪呢?
优质解答
那个数字,是作为标记的.107 continue,意思就是这一行的名字叫107,内容是continue.所以,其他语句出现goto 107的,就是去107这一行.do 107,就是循环体一直持续到107这一行. 那个数字,是作为标记的.107 continue,意思就是这一行的名字叫107,内容是continue.所以,其他语句出现goto 107的,就是去107这一行.do 107,就是循环体一直持续到107这一行.
相关问答