正在载入在线练习界面,本页内容可直接阅读…
AK CSP › NOIP 普及 2015 第一轮真题 › 第 26 题
NOIP 普及 2015 第一轮 第 26 题:指针参数赋值与字符自增后的输出
题目
```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);
}
```
本小题
阅读程序写结果:
答案
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号