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

AK CSP › NOIP 普及 2015 第一轮真题 › 第 26 题

NOIP 普及 2015 第一轮 第 26 题:指针参数赋值与字符自增后的输出

阅读程序 · 结构体、指针与引用 · 难度 中等 · 答案 Ab

题目

```cpp
#include <iostream>
#include <string>
using namespace std;

void fun( char *a, char *b )
{
  a = b;
  (*a)++;
}

int main()
{
  char c1, c2, *p1, *p2;
  c1 = 'A';
  c2 = 'a';
  p1 = &c1;
  p2 = &c2;
  fun( p1, p2 );
  cout << c1 << c2 << endl;
  return(0);
}
```
NOIP 普及 2015 第一轮 第 26 题 原题
原题扫描(页面加载后可直接在线作答)

本小题

阅读程序写结果:

答案

Ab

题解

考点定位

本题考「指针传参模拟」,对应大纲 4.2.1 模拟(难度【3】)。

解题过程

fun(char *a, char *b){ a=b; (*a)++; }:形参 a 的修改不影响实参 p1(指针按值传递),(*a)++ 作用在 b 指向的 c2 上 ⇒ c2='a'+1='b'、c1='A' 不变。

按程序输出:Ab(与官方一致——c1 不变 'A'?输出两个字符 c1,c2 = 'A','b')。

答案:Ab。

易错提醒

① 指针形参本身被重新赋值不影响外部;② 解引用修改才影响外部——两者区分是本题考点。

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