fortran子程序
子程序(subroutine
)是 Fortran 中用于封装可重复使用逻辑块的机制。与主程序类似,但不作为整个程序的入口,而是被主程序或其他子程序调用以完成特定任务。子程序可以带有多个输入/输出参数,还可以不返回值。示例:
program main_external
implicit none ! 禁用隐式类型
integer :: x, y ! 声明两个整型变量
x = 3 ! 为 x 赋值
y = 2 ! 为 y 赋值
call multiply(x, y) ! 调用 multiply 子程序
print *, 'Done.' ! 打印标志表示程序结束
contains ! 在同一文件中定义内部子程序
subroutine multiply(i, j)
integer, intent(in) :: i, j ! 声明输入参数均为整型,只读
integer :: result ! 局部变量用于存储乘积
result = i * j ! 计算乘积
print *, i, '和', j, '的积为', result
! 也可以直接写:print *, i, '和', j, '的积为', i*j
end subroutine multiply ! 子程序结束
end program main_external
- subroutine multiply(i, j):定义名为
multiply
的子程序,带有两个输入参数i
、j
。 - integer, intent(in) :: i, j:声明
i
、j
为整型,只读(intent(in)
)。 - contains:将子程序嵌入到主程序中,该子程序对外部不可见,仅供本主程序调用。
- 子程序可以不返回任何值,而是通过参数或全局变量传递结果;若需要返回单一值,应使用
function
。
发表回复
要发表评论,您必须先登录。