VB菜鸟的菜鸟问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 09:11:55
执行下面的程序后,输出的结果是?
Private sub for_click()
Dim M(10)
For k = 1 to 10
m(k) = 11 - k
Next k
Print M(k-3)
End Sub

A. 2 B. 3 C. 4 D.5
答案选的是B,请问详细的计算过程是什么样的

Private sub for_click()
Dim M(10)'声明数组k(0,10)
For k = 1 to 10 '循环10次,每次循环后k=k+1
m(k) = 11 - k 'm(k)=11-k,第一次m(1)=11-1=10,第二次m(2)=11-2=9,第三次m(3)=11-3=8,……
Next k '循环完成后k=10+1=11
Print M(k-3) '输出m(11-3)的值,即m(8)的值
End Sub

每一次循环之后计算的数组m的结果分别为:
M(1)=10
M(2)=9
M(3)=8
M(4)=7
M(5)=6
M(6)=5
M(7)=4
M(8)=3
M(9)=2
M(10)=1
当K=10执行完之后又执行了next K语句所以k=k+1=11,那么求得的最后结果就是M(11-3)=M(8)=3,这样应该很清楚了吧