


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



执行下面代码后,输出为( )。
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



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



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



容易混淆二级指针的解引用层级,误以为**q修改的是指针p的值,或忽略p与a的指向关联导致认为两者输出值不同。
文章来源:
四季读书网
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至23467321@qq.com举报,一经查实,本站将立刻删除;如已特别标注为本站原创文章的,转载时请以链接形式注明文章出处,谢谢!