【发布时间】:2014-09-14 00:27:44
【问题描述】:
我有这个问题,我对要打印的内容有点困惑,尤其是通过引用传递。如果有两个参数,将传递给 x 什么值?谢谢!
考虑以下程序。对于以下每个参数传递方法,打印什么?
一个。按值传递
b.通过引用传递
c。按值结果传递
void main()
{
int x = 5;
foo (x,x);
print (x);
}
void foo (int a, int b)
{
a = 2 * b + 1;
b = a - 1;
a = 3 * a - b;
}
【问题讨论】:
-
你的猜测是什么?
-
你试过运行它吗?
-
这是一个测试题,所以我没有尝试运行它。如果我不得不猜测,我会说 a 会打印 5,b 会打印 23,c 会打印 23。B 给我带来了麻烦,因为 x 会被设置为 23 还是会保持在 5 如果通过引用传递?
-
到底什么是“通过价值结果”?我认为自己非常了解 C++,但到目前为止我所想到的任何解释都不太可能。
-
那么它会打印 5、5 和 23 吗?还是 5、5 和 5?
标签: pass-by-reference pass-by-value