fortran计算中,real类型可以单精度和双精度混用吗?
如下程序,想让子程序用双精度计算,但是返回单精度,给主程序,行不行?program main
Implicit None !// 非常重要
real(kind=8)::x=8.0d0!//常数要加 d0
real(kind=4)::y , add!要定义 add
y=add(1,x)
write(*,*)y
end program main
real(kind=4) function add(I,x)
Implicit None !//非常重要
integer :: i!// 定义
real(kind=8) :: x !//定义
if(I==1) add=x+10.0d0 !//常数要加 d0
end function add 编译运行下不就知道了吗?这样做是可以的,但一定要注意有效数字的损失问题。 好的,谢谢。
页:
[1]