vb 的數值交換怎樣實現?
1樓:吾桐語
比如:a和b值互相交換,那麼:
r=aa=bb=r
就行了。
vb編寫交換兩個數的過程,swapl用傳值傳遞,swapl2用傳址傳遞,哪個過程能真正實現兩個數的交換?為什麼
2樓:南嶺悠客
byval就是傳值,這是候它的數是不會改的。
byval就是不希望它的數改變。
如果byval時,數也改變,那就沒意義了。
你研究變數時,應該關注它的本質,就是記憶體中的位置。
byval 傳輸時,事實上是做了個副本,丟過去的。
原來的位址,子函式讀不到的。
byval hwnd as long)
假設現在 hwnd 現在在記憶體// a位置;
它先作個副本,,放在記憶體// b位置。
這時候子函式讀不到a位置(實際位置),所以hwmd 值是不會改變的---子函式改變的是 b位置那個影子(tmp)的值。
==byval就是想不改變原來值的,,如果改變了,那麼微軟可以去挑大糞了結論:只要你用了byval,這個值是不會改變的。
「編寫實現兩個資料交換的sub過程(按位址傳遞)」的vb程式設計語言
3樓:網友
sub h (a,b)
dim cc=a:a=b:b=c
end sub
呼叫示例: call h(x,y)
x,y就互換值了。因為你在題目中沒說明資料的具體型別,所以沒做變數宣告,實際應用時,對a、b、c進行變數宣告,並且這三個變數都是統一型別。
4樓:聽不清啊
以下是交換兩個integer變數的sub過程:
sub swap(a as integer,bas integer)dim t as integer
t=a: a=b: b=t
end sub
呼叫時,只要swap(a,b)就可以交換兩個變數的值了。
vb編寫交換兩個數的過程,swapl用傳值傳遞,swapl2用傳址傳遞,哪個過程能真正實現兩個數的交換?為什麼
5樓:歸萱
'按位址傳遞能真正實現兩個數交換。因為數值的位址是唯一的,原值和傳遞值使用的是乙個位址,過程中這個位址的值改變了,那原值也就改變。
按值不能做到值的交換,因為它只是引用不能修改原值,可以理解為複製了乙個原值後去運算,而原值是不會改變的。
private sub command1_click()dim a, b
a = 1: b = 2
swap1 a, b '按值傳遞。
print "按值傳遞:"; a, b
a = 1: b = 2
swap2 a, b '按位址傳遞。
print "按位址傳遞"; a, b
end sub
sub swap1(byval a, byval b)dim t
t = a: a = b: b = t
end sub
sub swap2(byref a, byref b)dim t
t = a: a = b: b = t
end sub
vb題目 1、求一百個隨機數的和,平均值,最大值。 2、編寫程式,要求通過呼叫sub過程實現兩個數的交換。
6樓:
孩子,去看看 如何 寫sub ,如何呼叫 sub過程。
和,平均值,最大值 vb 都內建了函式。
剛入門記得多看書。
7樓:遊魂部落格
用陣列儲存著100個的隨機數的資料。再進行相應的計算就好了。rnd是返回隨機數的函式。
應該明白怎麼做了吧?
VB題目高手速度進,VB 高手請進來解答兩個題,速度,謝謝
1 timer1.interval hscroll1.min hscroll1.value 改timer1.interval hscroll1.max hscroll1.value vb問題 很簡單的,高手進來下 很簡單的啊.陣列名 行數 列數 就這樣可以直接呼叫了.vb題目,高手來 1.redim...
MATLAB中的兩個變數相乘怎麼編寫
驗證成功,可以執行 x rand 3,4 y rand 4,5 row1,col1 size x row2,col2 size y if col1 row2 disp input is error else result zeros row1,col2 for ii 1 row1 for jj 1 ...
用C語言編寫兩個數求和求積求商,編寫一個C語言程式,輸入兩個數的乘積和和,輸出這兩個數。
main 用baic語言編寫兩du個數求和 zhi求積求 dao商?include float add float x,float y float multiply float x,float y float divide float x,float y void main include main...