退出

用途

EXIT语句终止执行 DOFortran 2008 开始DO CONCURRENTFortran 2008 结束 或者 DO WHILE在构造终止其所有迭代之前构造。 此外,它还可以用于终止执行指定的构造,该构造不是 DO Fortran 2008 开始DO CONCURRENT Fortran 2008 结束 DO WHILE

语法

读取语法图跳过可视语法图EXIT构造名
construct_name
构造的名称。
它可以是以下构造之一:
  • ASSOCIATE
  • Fortran 2008 开始BLOCKFortran 2008 结束
  • DO
  • Fortran 2008 开始同时进行 Fortran 2008 结束
  • DO WHILE
  • IF
  • SELECT CASE
  • SELECT TYPE

规则

如果指定了 construct_name ,那么 EXIT 语句必须在 construct_name指定的构造内。 如果未指定 construct_name ,那么 EXIT 语句必须在至少一个 DODO WHILE 构造的范围内。

如果指定了 construct_name ,那么 EXIT 语句属于 construct_name指定的构造。 如果未指定 构造名称 ,则 EXIT语句属于 DOFortran 2008 开始DO CONCURRENT Fortran 2008 结束 DO WHILE紧邻的句子。

Fortran 2008 开始声明不得放在 EXIT声明不得放在 CRITICALDO CONCURRENT,如果它属于该结构或外部结构。 Fortran 2008 结束

如果一个 EXIT 语句属于 DO Fortran 2008 开始DO CONCURRENTFortran 2008 结束 DO WHILE 结构,则执行 EXIT 语句会导致该结构失效。 如果 EXIT语句嵌套在任何其他 DOFortran 2008 开始DO CONCURRENT Fortran 2008 结束 DO WHILE结构中,它们也会变为非活动状态。 存在的任何 DO 变量都会保留其最后定义的值。 如果 DO 构造没有构造控件,那么它将无限迭代,除非它变为不活动状态。 EXIT 语句可用于使构造处于不活动状态。

Fortran 2008 开始如果 EXIT属于非 DOFortran 2008 开始DO CONCURRENT Fortran 2008 结束 DO WHILE,语句的执行 EXIT语句将终止构造的执行。 ,xml-ph-0000@deepl.internal xml-ph-0001@deepl.internal xml-ph-0002@deepl.internal,或 DOFortran 2008 开始DO CONCURRENT Fortran 2008 结束 DO WHILE结构中的循环将失效。 Fortran 2008 结束

EXIT 语句可以具有语句标签; 它不能用作终止构造的带标签语句。

示例

示例 1: 以下示例说明了 EXIT 语句在 DODO WHILE 语句中的用法:
      LOOP1: DO I = 1, 20
         N = N + 1
10       IF (N > NMAX) EXIT LOOP1           ! EXIT from LOOP1

         LOOP2: DO WHILE (K==1)
            KMAX = KMAX - 1
20          IF (K > KMAX) EXIT              ! EXIT from LOOP2
         END DO LOOP2

         LOOP3:  DO J = 1, 10
             N = N + 1
30           IF (N > NMAX) EXIT LOOP1       ! EXIT from LOOP1
             EXIT LOOP3                     ! EXIT from LOOP3
         END DO LOOP3

      END DO LOOP1
Fortran 2008 开始
示例 2: 以下示例显示如何使用 EXIT 语句来终止 BLOCK 构造的执行:
a : BLOCK
  DO i = 1, num_in_set
    IF (X == a(i)) EXIT a       ! EXIT from the a BLOCK construct
  END DO
  CALL r
END BLOCK a 
Fortran 2008 结束

相关信息