繁体   English   中英

在 FORTRAN77 的子程序中使用 function

[英]Use function inside subroutine in FORTRAN77

我正在更新旧代码,我需要在子例程中使用简单的数学 function。 我无法弄清楚如何做到这一点。 我有一个 function 从测试程序调用时可以工作 我需要为子例程做些什么不同的事情?

例子:

subroutine foo(i,j,k)

i = bar(j,k)

stuff = otherstuff

return 
end

其他信息: bar 是 erf 近似值。 我正在使用 PGF90 编译器。 我是来自 C 的 FORTRAN 的新手。

谢谢!

基本上,从程序或子程序调用应该没有区别。 代码真的看起来像这样,没有任何声明吗? 这意味着所有变量都将具有隐式类型:名称以 in 字母开头的变量将为 integer,其他所有变量都是实数; 这也适用于 function 返回值。 您显示的代码尝试将实数( bar() )分配给 integer ( i )。

如果您正在编写新代码,请始终使用IMPLICIT NONE启动程序和过程。 这会强制您显式包含所有变量的类型声明和 function 返回值,从而大大减少错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM