GESP C++ 四级真题解析

四季读书网 1 0
GESP C++ 四级真题解析
GESP C++ 四级真题解析 第1张
题目信息
GESP C++ 四级真题解析 第2张
GESP C++ 四级真题解析 第3张

等级:四级 | 题型:选择题目编号:202603002GESP4

GESP C++ 四级真题解析 第4张
题目内容
GESP C++ 四级真题解析 第5张
GESP C++ 四级真题解析 第6张

执行下面代码后,输出为( )。

intmain() {    int a = 5;    int* p = &a;    int** q = &p;    **q += 7;    cout << a << " " << *p;}

A. 5 5

B. 12 12

C. 12 5

D. 5 12

GESP C++ 四级真题解析 第7张
考点
GESP C++ 四级真题解析 第8张
GESP C++ 四级真题解析 第9张

二级指针的多次解引用操作及其对原变量的间接修改

GESP C++ 四级真题解析 第10张
解析
GESP C++ 四级真题解析 第11张
GESP C++ 四级真题解析 第12张

【正确答案】B

**q是对二级指针q的两次解引用,最终指向变量a,执行**q+=7后a的值变为12; 指针p始终指向a,*p等价于a的取值,因此输出的两个值均为12; 错误选项或未理解解引用的修改作用,或混淆了指针指向与变量值的关联。

GESP C++ 四级真题解析 第13张
易错点
GESP C++ 四级真题解析 第14张
GESP C++ 四级真题解析 第15张

容易混淆二级指针的解引用层级,误以为**q修改的是指针p的值,或忽略p与a的指向关联导致认为两者输出值不同。

抱歉,评论功能暂时关闭!