回 帖 发 新 帖 刷新版面

主题:fortran计算问题

下面这段程序怎么算不出正确结果?该怎样改
external g
real(8) a,b
common/dat/a
a=1.1
b=9.0
print*,g(b)
end
function  g(x)
real(8) x
common/dat/a 
g=a*x
end

回复列表 (共4个回复)

沙发


我试了把real(8)改成real,可以的到结果,但原来那地方出错了?

板凳


把a。b的定义改成
a=11d-1
b=9d-1
可以的到结果

3 楼

老生常谈的问题,fortran里面的常数数据默认都是单精度类型

4 楼

如果想不出错,那就在function g里加上:real(8) a

我来回复

您尚未登录,请登录后再回复。点此登录或注册