执行下面程序后输出为( )。 int x = 3; void f(int& x){ x += 2; } int main(){ int x = 10; f(x); cout << x << " " << ::x;
A:12 3
B:10 5
C:12 5
D:10 3
正确答案:A
答案解析
首先确定变量作用域与引用传递机制。函数f接受一个int类型引用参数,对形参的操作直接影响实参。main函数中定义局部变量x并初始化为10,调用f(x)时将该局部变量x的引用传递给函数。在f内部,通过引用将实参值增加2。随后执行输出语句,依次输出main函数中x的值及全局变量x的值。注意局部变量与全局变量的命名冲突由作用域规则决定访问优先级。
试卷来源:202603 CCF-GESP编程能力等级认证C++四级真题