NOIP 普及组初赛 · NOIP 2015 普及组初赛试题 第 26 题

阅读程序 · 答案 Ab · 考点:输入输出、位运算、字符串(string)、指针与引用

← 整套速查表 NOIP 普及组初赛 全部真题

题目

阅读程序写结果:

#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);
}
答案:Ab

考点

输入输出位运算 讲解 →位运算 真题汇总 →字符串(string)指针与引用

解题思维

看到指针形参a=b,先判它只改局部a的指向,不改外部p1

常见错误

易把指针参数当引用,以为a=b会让外部p1也指向c2;或误以为(*a)++能同时改c1。

详细解析(节选)

考点:指针值传递|指针运算

程序在做什么

函数fun接收两个字符指针,通过局部指针a=b改变指向,再用(*a)++修改被指向字符。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断