[填空題] 在窗體上畫(huà)一個(gè)命令按鈕Command1,然后編寫(xiě)如下程序: Private Sub Command1_Click() Dim arr()As I
[填空題] 在窗體上畫(huà)一個(gè)命令按鈕Command1,然后編寫(xiě)如下程序:
Private Sub Command1_Click()
Dim arr()As Integer
ReDim arr(3)
For i=0 To 3
alt(i)=i
Next i
x=InputBox("請(qǐng)輸入一個(gè)數(shù)字:")
If Val(x)>4 Then
Re Dim arr(4)
arr(4)=x
End If
Me.Print(arr(4)-arr(3))
End Sub
程序運(yùn)行后,單擊命令按鈕,在輸入對(duì)話(huà)框中輸入12,輸出結(jié)果為 【10】 。
正確答案:12
參考解析:[評(píng)析] 用Redim語(yǔ)句重定義數(shù)組的維數(shù)時(shí),原有維數(shù)內(nèi)的內(nèi)容將被破壞。除非用Redim Preserve來(lái)重新定義維數(shù)。本題中由于輸入值x>4,動(dòng)態(tài)數(shù)組在被重定義為包含4個(gè)元素的數(shù)組后(即Redim arry(3),此時(shí)arry(3)=3),重新被定義為包含5個(gè)元素的數(shù)組,而重定義時(shí)并未用Preserve關(guān)鍵字。故此時(shí)arry(3)=0(實(shí)際上arry(0)、 arry(1)、arry(2)的值也都為0,即Integer類(lèi)型變量的初始值)。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。