2014-03-03 40 views
-2

給定下面的僞代碼,當兩個參數x和y通過值傳遞以及通過引用傳遞時,程序的輸出是什麼?按值傳遞並通過x和y的引用

int x = 1; 
int y = 1; 
int count = 0; 
while count < 3{ 
addnumbers(x, y); 
println (x); 
count++; 
} 

addnumbers(int x, int y){ 
x = x + y; 
println (x); 
} 
+0

我不認爲你的僞代碼會傳遞任何類型的消息。它看起來像你試圖在你的while循環中創建一個方法numbers(),但它永遠不會被調用。 – nick

+0

什麼語言?爲什麼「分佈式計算」被標記? –

+0

@RikayanBandyopadhyay它只是psuedocode,但代碼不正確。 –

回答

0

傳值:在按值傳遞,當你傳遞一個變量到一個函數,該函數將使用該變量的副本,所以原來不受影響。

2 
1 
2 
1 
2 
1 

通過引用傳遞:在按引用傳遞,傳遞變量的引用,所以因爲這兩個INT x和INT X函數引用同樣的事情裏面,如果你換一個,另外一個也改變。

2 
2 
3 
3 
4 
4