回 帖 发 新 帖 刷新版面

主题:[讨论]请教:跳出循环的几个命令的区别?

[size=3]各位大侠:
我知道Fortran中跳出循环的两个命令为exit和cycle,exit表示跳出离命令最近的循环,cycle表示结束此次循环并开始下一次循环。请问我这样的说法对吗?
另外Fortran中有其他的关于跳出循环的命令吗,比如说continue、break之类的[/size]

回复列表 (共3个回复)

沙发

楼主是C转过来的吗?
你对exit和cycle的理解没错. coutinue是fortran旧标准中使用但不是跳出循环的作用. break 我没见过在fortran中使用.

板凳

[quote]楼主是C转过来的吗?
你对exit和cycle的理解没错. coutinue是fortran旧标准中使用但不是跳出循环的作用. break 我没见过在fortran中使用.[/quote]

谢谢!我本科学的的确是C语言,之后就一直用matlab了,只是现在课题需要得用Fortran。

3 楼

那天正好整理了下fortran 中几个命令的用途,贴出来大家看看有啥不对的地方。

1,goto
goto 在Fortran77中就流传下来了,它提供一个任意跳跃到所赋值行代码的位置,如果是在一个do 循环中如
do 30 i=1,N
   if(……)  goto 30
30 continue 
上语句的意思就是如果符合if里的条件,则会进行下一次循环。


2,pause
pause的功能就能跟它的字面意思相同,程序执行到pause 时,会暂停执行,直到用户按下Enter键才会继续执行。


3. continue
continue这个命令没有实际的用途,它的功能就是 继续向下执行程序


4,stop
它可用来结束程序执行。


5,cycle
cycle命令可由略过循环的程序模块中,在cycle命令后面的所有程序代码,直接跳回循环的开头来进行下一次循环。

do floor=1,dest
  if(floor==4) cycle
write(*,*) floor
end do

执行结果如下

2
3
5
6
……


6。exit
exit的功能是可以直接跳出一个正在进行的循环,不论是do 循环还是do while 循环。

我来回复

您尚未登录,请登录后再回复。点此登录或注册