结束
用途
END 语句指示程序单元或过程的结束。
语法
规则
END 语句是程序单元中唯一的必需语句。
如果名字在 END BLOCK DATA, END
FUNCTIONEND MODULE, END PROGRAM, END SUBROUTINE,
END SUBMODULE陈述中,必须与相应 END
PROCEDURE
声明中,它必须与相应 BLOCK DATAFUNCTIONMODULE, PROGRAM, SUBROUTINE、
SUBMODULE或 MODULE
PROCEDURE
声明。
对于内部子程序或模块子程序,必须在 END 语句上指定 FUNCTION 或 SUBROUTINE 关键字。
在2008年 Fortran ,您可以省略 FUNCTION和 SUBROUTINE内部和模块子程序语句中的 END内部和模块子程序的语句中。 但是,如果省略了 FUNCTION 或 SUBROUTINE 关键字,那么不能在 END 语句上添加函数或子例程名称。
对于块数据程序单元、外部子程序、主程序、模块、接口主体 、 子模块和单独的模块子程序 
,相应的关键字是可选的。
END, END FUNCTION
END PROCEDURE
、 END PROGRAM和 END SUBROUTINE语句是可以分支的可执行语句。 在固定源表单和 Fortran 90 自由源表单格式中,任何其他语句都不能跟在同一行上的 END 语句后面。 在固定源格式中,不能继续程序单元 END 语句,也不能继续其初始行似乎是程序单元 END 语句的语句。
主程序的 END 语句终止程序的执行。 函数或子例程的 END 语句具有与 RETURN 语句相同的效果。 内联注释可以显示在与 END 语句相同的行上。 出现在 END 语句之后的任何注释行都属于下一个程序单元。
示例
PROGRAM TEST
CALL SUB()
CONTAINS
SUBROUTINE SUB
⋮
END SUBROUTINE ! Reference to subroutine name SUB is optional
END PROGRAM TEST
