24小时热门版块排行榜    

查看: 448  |  回复: 2

cquccc

铜虫 (正式写手)

[求助] Do-Continue 中含有goto已有1人参与

.....................
      DO 12 J12 = J11+1,M-1
      if(j14.eq.j12)goto 12
      DO 13 J13 = J12+1,M
      if(j14.eq.j13)goto 13

      CALL WINDUP (F,C,M,IER)
      IF (IER .EQ. 14) GO TO 13
      IF (IER .EQ. 13) GO TO 12

  13  CONTINUE
  12  CONTINUE
.............................

以上是遇到的一段代码,在理解上有困难,望指教。
我的理解,‘  DO 12 J12 = J11+1,M-1’与‘ 12  CONTINUE’对应,形成一个循环体,现在的问题是,代码中的’IF (IER .EQ. 13) GO TO 12‘到底是要转到最后的continue 还是转到最上面的Do ?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
cquccc: 金币+10, ★★★★★最佳答案, 回答非常到位,甚至超过了预期! 2014-11-25 05:57:32
GO TO 12 首先转到   12  CONTINUE。但是因为是do loop里的最后一句,所以等价于重新开始 ‘  DO 12 J12 = J11+1,M-1’ 的下一个指标。你这段code 是fortran 77 style, 在f90 style 下 GO TO 12 可替换为 cycle。
2楼2014-11-25 01:03:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cquccc

铜虫 (正式写手)

谢谢楼上!
3楼2014-11-25 05:58:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 cquccc 的主题更新
信息提示
请填处理意见