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

AK CSP › CSP-J 2026 第一轮真题 › 第 11 题

CSP-J 2026 第一轮 第 11 题:执行下列代码,输出是

单项选择 · 枚举与模拟 · 答案 A

题目

执行下列代码,输出是( )。

int a[5] = {1, 3, 5, 7, 9};
int *p = a + 2;
*(p - 1) = p[0] + p[2];
p[1] = *(a + 1) - a[0];
cout << a[1] << "," << a[3];

选项

  • A. 14,13
  • B. 8,13
  • C. 14,7
  • D. 14,2

答案

A

题解

答案是 A. 14,13。

关键是:p = a + 2,所以 p 指向 a[2],且 **p[i] 等价于 *(p + i)**。

按顺序执行:

  1. *(p - 1) = p[0] + p[2];
  2. *(p - 1) 是 a[1]
  3. p[0] 是 a[2] = 5
  4. p[2] 是 a[4] = 9

因此 a[1] = 5 + 9 = 14,数组变为 {1, 14, 5, 7, 9}。

  1. p[1] = *(a + 1) - a[0];
  2. p[1] 是 a[3]
  3. *(a + 1) 是已经改成 14 的 a[1]

因此 a[3] = 14 - 1 = 13。

最后输出 a[1] 和 a[3],即:

``text 14,13 ``

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