向大家请教一个VB问题,诚心求教?

来源:百度知道 编辑:UC知道 时间:2024/05/15 08:11:08
Private Sub Command1_Click()
Dim Arry1(10) As Integer, Arry2(10) As Integer
n = 3
For i = 1 To 5
Arry1(i) = i
Arry2(n) = 2 * n + i
Next i
Print Arry2(n), Arry1(n)
End Sub
程序运行后,单击命令按钮,输出的结果是______?
答案:11、3
我想向大家求教详细的过程~!先谢谢各位~!
疑问:是不是For i = 1 To 5时,n都等于3啊?如果那样Arry2(n) = 2 * n + i的输出结果为11就不难理解了,但Arry1(i) = i怎样计算啊?
迷惑中~!
Arry1(n)=n.?
怎么得来的啊?为初学者,请各位详细答复啊?
我现在对数组和循环这一块不是很清楚~!

呵呵. 不难嘛, 你认真看.
为了简化问题, 你可以先不理ARRY2, 先看ARRY1, 对它操作的语句有:

n=3
For i = 1 To 5
Arry1(i) = i '***这句就是你想问的原因了.
Next i
Print Arry1(n)
看上面的Arry1(i) = i这一句, 即是运行完后, ARRY1(1)=1, ARRY1(2)=2, ARRY1(3)=3... 直到5
所以ARRY1(3)当然等于3了. 亦即你问的Arry1(n)=n的由来.

再来不理ARRY1, 光看对ARRY2的操作:
n = 3
For i = 1 To 5
Arry2(n) = 2 * n + i
Next i
Print Arry2(n)
其实循环这么多次, n的值都没变过. 你也能理解.

是For i = 1 To 5时,n一直等于3
Arry1(n)=n.
答案:11、3是对的..