因为你的 a 是虚参,而对应的实参是 0.0 是一个常数。而常数不能被更改。所以 a 不能被赋值。
你可以在主程序定义2个变量 a 和 b。然后传入子程序即可
[Fortran] 纯文本查看 复制代码 program solver
implicit none
real,external::getroot,polyeq
real::tol=0.0001
real::coeff(4)=(/-1.,1.,0.,-1./)!多项式系数向量
real::root,a=0.0,b=1.0
root=getroot(polyeq,coeff,4,a,b)!求根函数
write(*,*)root
end program |