正在载入在线练习界面,本页内容可直接阅读…
AK CSP › CSP-J 2026 第一轮真题 › 第 11 题
CSP-J 2026 第一轮 第 11 题:执行下列代码,输出是
题目
执行下列代码,输出是( )。
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)**。
按顺序执行:
*(p - 1) = p[0] + p[2];*(p - 1)是a[1]p[0]是a[2] = 5p[2]是a[4] = 9
因此 a[1] = 5 + 9 = 14,数组变为 {1, 14, 5, 7, 9}。
p[1] = *(a + 1) - a[0];p[1]是a[3]*(a + 1)是已经改成 14 的a[1]
因此 a[3] = 14 - 1 = 13。
最后输出 a[1] 和 a[3],即:
``text 14,13 ``
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号