Function 几何级数的Fortran函数
我用Fortran函数实现这个等式。 函数(g)中的写调用始终返回6,但当我调用程序(z)中的函数时,输出取决于,例如。, -2123950080 -529463296 929961984 为什么g和z不一样?为了完成几何级数计算,我应该在函数中更改什么Function 几何级数的Fortran函数,function,fortran,fortran90,Function,Fortran,Fortran90,我用Fortran函数实现这个等式。 函数(g)中的写调用始终返回6,但当我调用程序(z)中的函数时,输出取决于,例如。, -2123950080 -529463296 929961984 为什么g和z不一样?为了完成几何级数计算,我应该在函数中更改什么 函数系列(n) 隐式无 整数::i,n,g=0,x=1,几何级数 g=1+x i=2,n吗 g=g+x**i 结束 写入(*,*)g 返回 端函数几何级数 程序geomFunc 隐式无 整数::n=5,几何级数,z z=几何级数(n) 写入(
函数系列(n)
隐式无
整数::i,n,g=0,x=1,几何级数
g=1+x
i=2,n吗
g=g+x**i
结束
写入(*,*)g
返回
端函数几何级数
程序geomFunc
隐式无
整数::n=5,几何级数,z
z=几何级数(n)
写入(*,*)z
结束程序geomFunc
另外,理想情况下,我希望它是纯函数,因为我不知道它是如何产生副作用的,但还没有设法以这种方式编译它(为什么?)。写入是一种副作用。变量g和x被保存,并且只初始化一次。我们有重复项。更重要的是,您没有为函数结果赋值
geomseries
g
不是一回事。Ups,是的,这实际上是直接的问题,链接的一个只会在第二次呼叫后出现。谢谢,分配geomSeries=g完成了这个任务!我是Fortran新手,我不知道函数只返回分配给函数名的内容,因为我习惯于用Python或R传递不同的变量以返回。写入是一种副作用。变量g和x只保存一次,并且只初始化一次。我们有重复项。更重要的是,您没有为函数结果赋值geomseries
g
不是一回事。Ups,是的,这实际上是直接的问题,链接的一个只会在第二次呼叫后出现。谢谢,分配geomSeries=g完成了这个任务!我是Fortran新手,我不知道函数只返回分配给函数名的内容,因为我习惯于在Python或R中传递不同的变量来返回。