单选题 设有下面程序代码: Private Sub Command1_Click() Dim a As Variant a = Array(22, 43, 23, 56, 87, 45, 67, 12, 98, 98, 56, 34, 23, 75, 64) m = a(0) n = m For k = 1 To UBound(a) If a(k) > m Then n = m m = a(k) ElseIf a(k) > n And a(k) <> m Then n = a(k) End If Next k Print n End Sub 程序运行时的输出是
【正确答案】 C
【答案解析】解析:n和m都获得数组元素a(0)的值。在For循环中,k=1时,a(k)=a(1)=43,If条件满足,n=a(0),m=a(1)。Else If判断的相同值的条件,只有在大于n并且不等于m的时候才赋值给n。因此n中存储的数永远比m小。而m中的值是数组中最大的值。因此选C)。