VB小問題大家幫下忙

2023-02-24 19:20:24 字數 1226 閱讀 3695

1樓:匿名使用者

首先,答案肯定錯誤.現在寫程式設計類書籍的人,根本都是不負責任的左抄一點,右抄一點,然後就拿出來賣的,根本沒有一點責任心.所以,你看書的時候,一定要抱著懷疑的精神,不要書上面說啥就是啥,有疑問了就開啟vb試,vb是絕對不會騙人,絕對不會偷工減料的.

然後,廢話說完,看你的問題

preserve 它到底是怎麼運作 ?

preserve就是在改變陣列大小的時候,儲存陣列原有資料.

比如陣列原來3個原書,你把它變成4個,如果有preserve的話,前三個的數值就不會變,如果你是要把它變成2個元素,如果有preserve,那就是剩下的兩個元素是原有的前兩個元素,第3個元素沒了

對於書上說preserve只能改變最後一維的大小,前面幾位大小保留.這一點如何體現!

書上這句說的是對的

比如你這個程式,如果改成

redim preserve arr(4, 4)

vb會報錯,也就是說,你只能改變最後一維的長度(也就是括號裡面的最後一個數字).這個是vb為了方便他自己編譯而規定的,既然你選擇的用vb,那隻能遵守他的規則(當然咯,當你強大到一定程度,vb的很多規則都是可以打破的)

2樓:匿名使用者

用 preserve 重新定義陣列時,陣列以前的值仍然保留,arr(3, 2)在前面已經賦值為8,arr(3, 2) + arr(3, 4) 時,arr(3, 2)仍然為8,8+13=21是對的。如果要想得到結果13,必須把redim preserve arr(3, 4) 改為redim arr(3, 4),即不能用preserve。

arr(3, 2)怎麼沒賦值?看這段:

redim arr(3, 2)

for i = 1 to 3

for j = 1 to 2

arr(i, j) = i * 2 + jnext

next

當i=3,j=2時,arr(i, j) = i * 2 + j=3*2+2=8,這不是賦值嗎?

3樓:匿名使用者

下變的那個「preserve arr(3, 4) 」

已經也定義了「arr(3, 2) 」

所以說「arr(3, 2) 」

在下邊的一次運算中也直接被複制到了preserve運算中 這種情況叫「轉值」

4樓:施尋楣

不能用preserve,用了這個關鍵字之後就會保留你前面的計算值.若不用這個關鍵字結果就是13了

買夢幻號的問題大家幫下忙謝謝

你付賬抄了嗎?沒付賬不要緊 付了bai你就麻煩了 不是有du支付寶嗎?你看看zhi支付寶裡有沒有dao錢。你是在家上嗎?你看看你旺旺和他聊天記錄 mlgb 如果你已經付錢了 我只能告訴你下次注意了 關於投訴的案例多得很!可能拿回錢的有幾個!你買的是虛擬物品 沒有實物 而其 你告訴客服 客服能給你聊半...

VB中的小問題,VB中的一個小問題

left函式是返回指定數目的從字串的左邊算起的字元,a答案結果為 microsoft mid函式從字串中返回指定數目的字元,在預設狀況下返回從指定位置開始到字串結束的字元。因此答案是b。mid string,start,length 就是從字串string的第start個字元開始取length個字串...

VB程式設計的小問題

拆分 千位 int 數字1 1000 百位 int 數字1 100 mod 10十位 int 數字1 10 mod 10各位 數字1 mod 10 逆序 a int 數字1 1000 b int 數字1 100 mod 10c int 數字1 10 mod 10 d 數字1 mod 10 逆序數 d...