【问题标题】:pass by value and pass by reference for x and yx 和 y 按值传递和按引用传递
【发布时间】:2014-04-04 22:04:28
【问题描述】:

给定下面的伪代码,程序的输出是什么,当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);
}

【问题讨论】:

  • 我不认为你的伪代码做任何形式的传递。看起来你正试图在你的 while 循环中创建一个方法 numbers(),但它永远不会被调用。
  • 什么语言?为什么要标记distributed-computing?
  • @RikayanBandyopadhyay 只是伪代码,但代码不正确。
  • 这是一个我需要解决的伪代码,但我不知道按值调用和按引用调用的机制是如何工作的?
  • 我进行了编辑,这将有助于回答您的问题。

标签: pass-by-reference pass-by-value


【解决方案1】:

按值传递:在按值传递中,当你将一个变量传递给一个函数时,函数会使用该变量的一个副本,所以原来的不受影响。

2
1
2
1
2
1

按引用传递: 在按引用传递中,您传递变量的引用,因此由于函数内部的 int x 和 int x 引用相同的东西,如果您更改一个,另一个一个也变了。

2
2
3
3
4
4

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 2015-05-23
    • 1970-01-01
    • 2012-07-29
    • 2013-12-02
    • 2023-03-07
    • 1970-01-01
    • 2011-05-29
    • 2015-11-26
    相关资源
    最近更新 更多