一段fortran程序,用于生成随机数,哪里出问题了real*8 function random()implicit double precision(a-h,o-z)common/randoms/xx=dmod(x*1953125d0,8388593d0)random=(x+0.1d0)/8388593d0returnendblock datareal*8 xcommon/randoms/xdata x/235621d0/end block data另外,问题是The type of the funct
2019-04-13
一段fortran程序,用于生成随机数,哪里出问题了
real*8 function random()
implicit double precision(a-h,o-z)
common/random_s/x
x=dmod(x*1953125d0,8388593d0)
random=(x+0.1d0)/8388593d0
return
end
block data
real*8 x
common/random_s/x
data x/235621d0/
end block data
另外,问题是The type of the function reference does not match the type of the function definition.
有人说是形参和实参类型不一致,求问该怎么改动
我在调用的时候语句是a=random()
请问哪里出现什么问题了吗?
该怎么解决?
优质解答
你给出的 random 没有任何虚参,不存在类型不一致的情况.
1.随机数,Fortran 有内置的函数random_number可以实现.
2.如果你要找出你的问题,建议你给出完整代码.
你给出的 random 没有任何虚参,不存在类型不一致的情况.
1.随机数,Fortran 有内置的函数random_number可以实现.
2.如果你要找出你的问题,建议你给出完整代码.