VF中有关主程序与子程序的题怎么做啊??星期六考试了,帮帮忙啊~~~

2025-01-07 02:13:20
推荐回答(1个)
回答1:

程序执行过程:
先由主程序开始,清屏,赋值操作让变量A、B、C均为1,然后调用子程序SUB1同时传递参数A->1,开始执行子程序SUB1,在SUB1中声明了一个参数B用于接收由主程序传来的数据A->1,这时B为1,接下来声明了专用变量C(只在此子程序中有效),然后再赋值A为2(注意,此处的变量A的值改变为2了,变量B、C都是这个子程序所声明的,会屏敝掉主程序中同名变量的作用),这时子程序中的变量是A=2、B=1、C=2。?A、B、C就是要求无格式打印出变量的值,即是结果中的第一行,2 1 2。
接下来执行DO SUB2调用子程序SUB2。在子程序SUB2中声明了私有变量C,然后对变量A、B、C都赋值3,变量A、B是调用此子程序的过程所有的变量,即都是子程序SUB1的变量,由前述分析可知:变量A是主程序MAIN所佣有的变量,值已改变为3;变量B属于子程序SUB1所有。再执行显示的时候,其值是3、3、3即结果中的第2行。
最后执行到RETU TO MASTER,将控制权交回到主调程序Main,即返回到主程序中执行DO SUB1 WITH A后的一行?A,B,C,要求打印主程序Main的变量的值。A由于被子程序SUB2改为3了,变量B、C被子程序SUB1所屏敝,值未变,都是1,因此得到结果3、1、1即结果中的最后一行。
子程序SUB2中有无PRIV C行,其结果都一样。