退出
用途
这 EXIT语句终止执行 DO,
DO CONCURRENT
, 或者 DO WHILE在构造终止其所有迭代之前构造。 此外,它还可以用于终止执行指定的构造,该构造不是 DO 、
DO CONCURRENT
或 DO WHILE。
语法
规则
如果指定了 construct_name ,那么 EXIT 语句必须在 construct_name指定的构造内。 如果未指定 construct_name ,那么 EXIT 语句必须在至少一个 DO 或 DO WHILE 构造的范围内。
如果指定了 construct_name ,那么 EXIT 语句属于 construct_name指定的构造。 如果未指定 构造名称 ,则 EXIT语句属于 DO、
DO
CONCURRENT
或 DO WHILE紧邻的句子。
声明不得放在 EXIT声明不得放在 CRITICAL或 DO CONCURRENT,如果它属于该结构或外部结构。 
如果一个 EXIT 语句属于 DO 、
、 DO CONCURRENT、
或 DO WHILE 结构,则执行 EXIT 语句会导致该结构失效。 如果 EXIT语句嵌套在任何其他 DO、
DO
CONCURRENT
或 DO WHILE结构中,它们也会变为非活动状态。 存在的任何 DO 变量都会保留其最后定义的值。 如果 DO 构造没有构造控件,那么它将无限迭代,除非它变为不活动状态。 EXIT 语句可用于使构造处于不活动状态。
如果 EXIT属于非 DO、
DO CONCURRENT
或 DO WHILE,语句的执行 EXIT语句将终止构造的执行。 ,xml-ph-0000@deepl.internal xml-ph-0001@deepl.internal xml-ph-0002@deepl.internal,或 DO、
DO
CONCURRENT
或 DO WHILE结构中的循环将失效。 
EXIT 语句可以具有语句标签; 它不能用作终止构造的带标签语句。
示例
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

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 
