单选题 编写如下程序:
Dim num As Integer, r As Integer, n As Integer, i As Integer, arr (5) As Integer
Private Sub Command1_Click()
num=12:r=2
Call sub1(num, r, n)
For i=n To 1 Step-1
Print arr(i);
Next i
End Sub
Sub sub 1(d As Integer, r As Integer, k As Integer)
k=0
Do While d<>0
k=k+1:arr(k)=d Mod r:d=d/r
Loop
End Sub
程序运行后,单击命令按钮Command1,输出结果为
【正确答案】 A
【答案解析】[解析] 本题实际上是在子过程sub1中对arr数组进行的赋值工作,形参d的值为12,r的值为2,k的初值为0;在循环中计算d除以2的余数放到数组的第一个元素,整除2后再除以2的余数放到第二个元素……以此类推,最后数组arr中存放的是(0、0、1、1),在Command1_Click()过程中调用完子过程对数组进行赋值以后,逆序输出了数组的值。