24小时热门版块排行榜    

查看: 631  |  回复: 5

zhangzhiguang

至尊木虫 (文坛精英)

[交流] 【讨论】do 循环的终值是否可以设置为变化的量 已有3人参与

do i=1,counter
这个counter是否设为可以变化的呢?比方说

counter=10
do i=1,counter
  counter=counter+1
  if(counter>=100) exit
end do

在这里我不太想用do while
回复此楼
好好学习,天天向上!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与应助! 2010-08-06 18:22:53
试一下就知道了,是可以的,但在你的这个例子里似乎没有什么意义……
2楼2010-08-06 14:57:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakekill

木虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与讨论! 2010-08-07 11:16:38
这个写法不符合fortran的规范,而且你这个循环就应该是一个do while的,更符合逻辑。
3楼2010-08-06 19:02:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):谢谢参与应助! 2010-08-07 11:17:07
规范中似乎没有说不可以用 counter 作为变量,但这个变量对于 do loop 似乎没有影响。可以测试一下下面的示例:
CODE:
C234567
      PROGRAM TEST
      INTEGER COUNTER
      COUNTER = 30
      DO 10 I = 1, COUNTER
        WRITE(*,*) COUNTER
        COUNTER = COUNTER - 5
10    CONTINUE
      END

标准中似乎只说不能定义重新定义 i,呵呵……
4楼2010-08-06 20:11:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakekill

木虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
snoopyzhao说的对,我记错了。

不过这种循环的逻辑关系会比较混乱。
5楼2010-08-07 15:57:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangzhiguang

至尊木虫 (文坛精英)

谢谢各位的回复
好好学习,天天向上!
6楼2010-08-07 17:16:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhangzhiguang 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见