函数g和f的定义如下所以,其中a是全局变量。

若在函数g中以引用调用(callbyreference)方式调用函数f(a),则函数g的返回值为(1),此时变量a的值为(2)?(1)A.25B.12C.10D.8(2)... 若在函数g中以引用调用(call by reference)方式调用函数f(a),则函数g的返回值为(1),此时变量a的值为 (2)?
(1) A. 25 B. 12 C. 10 D. 8
(2) A. 2 B. 3 C. 4 D. 5
int g() {
a = 2;
return f(a);
}

int f(int x) {
a = a+1;
x = x+2;
return a*x;
}
展开
 我来答
往事蔼蔼
2012-08-04 · 超过10用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:26.8万
展开全部
int g() {
a = 2;
return f(a);//在这里的调用的f(a),相当于为创建了一个新的变量,这个变量的值等于a,
} //而函数f()里调用的都是这个新创建的变量

int f(int x) {//由上可知这个函数里的a和上面f(a)里的a没有丝毫关系,只是全局变量
a = a+1; //在函数g()里a被赋值为2,因而a = a + 1 = 3;
x = x+2; //由于在g()中调用f(a), 所以刚开始x = a = 2,然后x = x + 2 = 4;
return a*x;//a * x = 3 * 4 = 12,最后g()也返回12
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式