问题 单项选择题

下列程序的运行结果是( )。
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。

选择题
单项选择题