作者fdps (Try It)
看板Fortran
标题[问题] 关於continue这个指令上的问题
时间Fri Jul 10 15:11:32 2009
想请教各位
在彭老师的书中提到
continue这个指令没有实际的用途,经常拿来做结束回圈
可是我还是不太懂它到底是在做什麽
因为最近看到的程式中有一部份连续用了几次continue的指令
让我搞不懂他执行的顺序到底是如何?
附上部份的程式码给各位看看
=====================================================================
do 1000 i=2,ii-1
do 1000 j=2,ij-1
temp(i,j)=e(i,j)+0.125*(e(i+1,j)+e(i,j-1)+e(i,j+1) &
+e(i-1,j)-4*e(i,j))+0.0625*(e(i+1,j+1)+e(i-1,j+1) &
+e(i-1,j-1)+e(i+1,j-1)-4*e(i,j))
1000 continue
do 2000 i=1,ii
temp(i,1)=e(i,1)
temp(i,ij)=e(i,ij)
2000 continue
do 3000 i=1,ij
temp(1,i)=e(1,i)
temp(ii,i)=e(ii,i)
3000 continue
do 4000 i=1,ii
do 4000 j=1,ij
e(i,j)=temp(i,j)
4000 continue
======================================================================
因为无法找到原作者,无法问到他这样写的目的为何?
所以想请教板上的各位,有没有人看得懂的可以解释给我听
另外如果我想改写不使用continue这个指令的话,
可以改用end do来结束do loop是吗?
ps:怕我自己在问题上描述的不清楚,如果各位看不懂的话可以再提醒我
我再来说明,不好意思。
先谢谢各位了!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.234
1F:推 jsb:这是旧格式啦! 两个 do 1000 到 1000 continue 表示双回圈。 07/10 16:38
2F:→ jsb:end do 要有对应的 do,也就是几个回圈就要有几对 do / end do 07/10 16:40
3F:→ jsb: 更正=> 几层 07/10 16:41