函数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;
} 展开
(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;
} 展开
展开全部
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
}
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
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询