阅读程序 · 答案 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);
}看到指针形参a=b,先判它只改局部a的指向,不改外部p1
易把指针参数当引用,以为a=b会让外部p1也指向c2;或误以为(*a)++能同时改c1。
考点:指针值传递|指针运算
函数fun接收两个字符指针,通过局部指针a=b改变指向,再用(*a)++修改被指向字符。