太奇怪了。 FORTRAN是否要求变量在作为参数发送后重新初始化?每当我将相同的参数发送到另一个子例程时,我就会遇到分段错误。我发现在第一个调用和第二个调用之间擦除了参数值,在函数调用之间或者在任一函数中都没有重新赋值语句。这些参数的范围仅限于主程序(我没有使用任何COMMON块)。
我现在无法发布代码,因为我是通过手机写的,但有什么想法?临时解决方法是在调用第二个函数之前重新分配值。
感谢您的帮助。
答案 0 :(得分:4)
Fortran通过引用传递参数,因此如果您在第一个子例程中修改它们,它们将在调用者中更改。
答案 1 :(得分:3)
当Fortran在子例程调用中用作参数时,没有任何变量。
但是,通过引用传递的参数可以通过被调用的子例程更改其值。
尝试在第二次调用之前打印变量。看看第一个子程序如何使用参数。
仅仅是我的0.02价值 - 自从我查看Fortran(IV)以来已有几十年了。