
首先所以得子程序必须在主程序调用才可以执行,例如你有2个子程序都调用了,系统会从上至下从左至右执行,遇到子程序就进入子程序,子程序进行完再出来继续主程序。依次进行到主程序最后,然后重头开始 一直循环
不行的,我以前用过的传递方法有两种,一种就是你说的括号里带变量名的传递方式,另外一种是定义公共模块管理全局变量,例如
module common_module
implicit none
real :: var1, var2
end module
然后在主程序和子程序中都使用这个模块,则子程序中的变量的值就会带入主程序中,例如
subroutine sub1()
use common_module % 使用公共模块
implicit none
var1=1 % 给全局变量赋值
var2=2
end subroutine
program main
use common_module
implicit none
var1=0
var2=0
write(,) var1, var2 % 调用子程序前的值
call sub1 % 调用子程序sub1,var1,var2重新赋值
write(,) var1, var2 %由于var1作为全局变量使用,var1在子程序中更改,这里是改变后的值
end program
大致用法应该是这样,你试试
以上就是关于用西门子编程时插入子程序什么返回主程序全部的内容,包括:用西门子编程时插入子程序什么返回主程序、那编了个子程序 为什么子程序的值没有办法返回到主程序呢、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)