题库首页 › GESP等级认证(C++) › 题目 25395

执行下面代码后输出为( )。 struct S { int a; int b; }; void g(S s){ s.a += 10; } void h(S& s){ s.b += 10; } int main(){ S s{1,2}; g(s); h(s); cout << s.a << " " << s.b; }

A:11 12
B:1 12
C:11 2
D:1 2

正确答案:B

答案解析

分析结构体S的两个成员a和b的初始值。观察函数g接收结构体值参数,形参s是实参的副本,函数内对s.a的修改不影响原对象。函数h接收结构体引用参数,形参s与实参为同一对象,函数内对s.b的修改直接影响原对象。执行顺序为先调用g,再调用h。最后输出结构体s的a和b成员值。

试卷来源:202603 CCF-GESP编程能力等级认证C++四级真题

本卷相关题目

在线做题 同科目题库