![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
關(guān)于過(guò)程嵌套調(diào)用題目的分析 |
關(guān)于過(guò)程嵌套調(diào)用題目的分析——答wsxy網(wǎng)友的提問(wèn)關(guān)鍵詞: 嵌套調(diào)用 曹蘇群 http:/caosuqun.bokee.com
問(wèn)題提出: (wsxy) 分析如下題目運(yùn)行結(jié)果: dim A as integer
答:
首先執(zhí)行:fun(A,B) A為1,B為2 由于實(shí)在參數(shù)是:A,B 對(duì)應(yīng)形式參數(shù)是K,N,由于是按地址傳遞,因此A和K指向同一內(nèi)存單元,B和N指向同一內(nèi)存單元。 因此執(zhí)行deug.print K,N 輸出第一行:1 2 執(zhí)行k=N+A+K 即:k=2+1+1=4 注意此時(shí)A也變?yōu)?/SPAN>4; 執(zhí)行N=K+A+N 即:N=4+4+2=10 注意此時(shí)B也變?yōu)?/SPAN>10 執(zhí)行fun=K+N 即:fun=14 執(zhí)行 debug.print 輸出第二行:14
再執(zhí)行:fun(A,fun()) A為4,fun()為14 同上分析,執(zhí)行deug.print K,N 輸出第三行:4 14 執(zhí)行k=N+A+K 即:k=14+4+4=22 注意此時(shí)A也變?yōu)?/SPAN>22; 執(zhí)行N=K+A+N 即:N=22+22+14=58 執(zhí)行fun=K+N 即:fun=80 執(zhí)行 debug.print 輸出第四行:80
最后執(zhí)行:debug.print A,B,D 輸出第五行:22 10 80
|