问题
单项选择题
下列程序的运行结果是( )。
Private Function myfun(m, n)
Do While m > n
Do While m>n:m=m-n:Loop
Do while n>m:n=n-m:Loop
Loop
myfun=m
End Function
Private Sub Command1_Click()
Print myfun(9, 8)
End Sub
A.2
B.1
C.4
D.3
答案
参考答案:B
解析: 求解本题的关键在于理解好3个Do While循环的执行顺序,第2个和第3个Do While循环嵌套在第1个Do While循环内,先执行第2个循环,然后是第3个循环,最后是外层循环即第1个 Do While循环。程序执行如下:m=9,n=8;第1个Do While循环内,执行第2个Do While循环,m=m-n=1;退出第2个Do While循环;执行第3个Do While循环,n=n-m,最后n的值为1;退出第3个 Do While循环,退出第1个Do While循环.程序执行结果是1。