我遇到一些调用子程序的问题。首先,我是否可以在IF声明中调用子程序?
Decimal
第二个问题。 Sub1在其中调用sub2。然后sub2有一个来自主程序的输入,比方说x。
IF (...) THEN
...
ELSE
CALL sub1(...)
END IF
注意:变量之间的加法不是发生的确切数学运算
基本上每个变量都相互依赖,但x = y是初始条件,我认为这是唯一可行的方法。似乎sub2不会在初始x = y上拾取,然后在从sub1调用时将其值赋给sub1。所以也许我不明白变量是如何被传递的。我得到的错误不是编译而是运行时错误导致我在sub1中调用sub2的行。非常感谢任何帮助。
答案 0 :(得分:0)
请在所有程序和模块的开头使用implicit none
(只有USE
语句在它之前),然后明确声明所有变量。
虽然按照你的方式调用子程序是完全正确的,但你必须考虑变量的范围。
在您的示例中,sub1
无法访问主程序x
和y
,因为它们是主程序的本地程序。