【发布时间】:2011-11-07 05:05:52
【问题描述】:
在通过引用传递参数的语言中,给定以下函数:
int function g(x, y) {
x = x + 1;
y = y + 2;
return x + y;
}
如果调用i = 3和g(i,i),返回的值是多少?我还以为是9,对吗?
【问题讨论】:
-
这看起来像家庭作业,请标记它。
-
C 没有引用,虽然这通常意味着“通过指针”,但您的问题中没有。您能否包含一个实际的 C 函数,以便我们回答您的问题?在任何情况下,如果
x和y以某种方式引用同一个变量,x + y将始终是偶数,因为它等同于2 * x。 -
删除了 C 标签,因为 C 不通过引用传递参数
-
@Mimisbrunnr:为什么要编辑它以使其更少有效C?让 OP 修复他的代码。
-
@Matt:提示 - 如果 x 和 y 都引用同一个变量,您可以将 x 和 y 都替换为 z 并查看代码的作用。