1. <small id="kntrr"><delect id="kntrr"></delect></small>
    2. <sub id="kntrr"></sub>
        1. <form id="kntrr"><listing id="kntrr"></listing></form>
            江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
            關于過程嵌套調用題目的分析

            關于過程嵌套調用題目的分析——答wsxy網友的提問

            關鍵詞嵌套調用        

            曹蘇群   http:/caosuqun.bokee.com                                  

            問題提出:

            (wsxy)

            分析如下題目運行結果:

            dim A as integer
            private sub form_click()
            dim B as integer
            dim D as integer
            A=1:B=2
            D=fun(A,fun(A,B))
            debug.print A,B,D
            end sub
            private function fun(K as integer,N as integer)as integer
            debug.print K,N
            k=N+A+K
            N=K+A+N
            fun=K+N
            debug.print fun
            End function

            答:

            首先執行:fun(A,B) A1,B2

            由于實在參數是:A,B 對應形式參數是K,N,由于是按地址傳遞,因此AK指向同一內存單元,BN指向同一內存單元。

            因此執行deug.print K,N 輸出第一行:1  2

            執行k=N+A+K 即:k=2+1+1=4 注意此時A也變為4;

            執行N=K+A+N 即:N=4+4+2=10 注意此時B也變為10

            執行fun=K+N 即:fun=14

            執行 debug.print 輸出第二行:14

             

            再執行:fun(A,fun()) A4,fun()14

            同上分析,執行deug.print K,N 輸出第三行:4   14

            執行k=N+A+K 即:k=14+4+4=22 注意此時A也變為22;

            執行N=K+A+N 即:N=22+22+14=58

            執行fun=K+N 即:fun=80

            執行 debug.print 輸出第四行:80

             

            最后執行:debug.print A,B,D  輸出第五行:22 10 80

            国产在线精品一区二区三区不卡_亚洲第一极品精品无码_永久免费无码网站在线观看_亚洲av综合日韩