正在载入在线练习界面,本页内容可直接阅读…

AK CSP › CSP-J 2022 第一轮真题 › 第 3 题

CSP-J 2022 第一轮 第 3 题:指针赋值语句的效果

单项选择 · 结构体、指针与引用 · 难度 较难 · 答案 D

题目

运行以下代码片段的行为是( )。

int x = 101;
int y = 201;
int *p = &x;
int *q = &y;
p = q;
CSP-J 2022 第一轮 第 3 题 原题
原题扫描(页面加载后可直接在线作答)

选项

  • A. 将 $x$ 的值赋为 $201$
  • B. 将 $y$ 的值赋为 $101$
  • C. 将 $q$ 指向 $x$ 的地址
  • D. 将 $p$ 指向 $y$ 的地址

答案

D

题解

答案是 D:将 p 指向 y 的地址。

指针变量存放的是地址。最初:

  • p = &x:p 指向 x。
  • q = &y:q 指向 y。

执行 p = q;,就是把 q 保存的地址复制给 p,因此 p 和 q 都指向 y。x 仍为 101,y 仍为 201。

注意区别:若写的是 *p = *q;,才是把 q 指向的值赋给 p 指向的变量,在本题初始状态下会让 x 变为 201。

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号