Fortran 类型声明的一致性
主程序中调用带初始化变量的子程序时,需要注意使用相同类型的变量来给子程序初始化参数,否则就会报错。如示例 3 中所示,子程序中所定义的参数 x 和 y 为实数、参数 m 和 n 为整数。主程序中调用时传递的变量值也是对应的实数和整数,具体如下表所示。
!!! 示例 3
program stest3
implicit none
real z
integer n
z = 200.0
n = 21
call subr3(10.0, z**2, 100, n*5+1)
end program stest3
subroutine subr3(x, y, m, n)
implicit none
real x, y
integer m, n
print *, x, y, m, n
end subroutine subr3
调用语句 | 子程序语句 | 数值类型 |
---|---|---|
10.0 | x | 实数 |
z**2 | y | 实数 |
100 | m | 整数 |
n*5+1 | n | 整数 |