执行完下面的代码后,a、b 和 c 的值分别是( )。
void byValue(int x) { x = 100; }
void byRef(int& x) { x = 200; }
void byPointer(int* x) { *x = 300; }
int main() {
int a = 1, b = 2, c = 3;
byValue(a);
byRef(b);
byPointer(&c);
return 0;
}答案C。综合分析各选项,运用相关知识推导。
仔细审题,注意"不正确""不属于""不是"等否定词。用排除法缩小范围。
【考点】函数传值|引用传递|指针解引用
GESP C++四级「函数参数传递」专项。命题人专卡「以为函数调用一定改原值」的认知盲区——四级学生最容易混淆传值与传引用,这道题就是强制区分三者的经典设计。