问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 12 月 3 日
* 版 本 号:v1.0
*
* 问题描述: 阅读下面的程序,先写出其运行结果,再运行对比。
* 输入描述:没有输入。
* 程序输出:指针间接输出数据;
*/
#include <iostream>
using namespace std;
int *p;
void pp(int a, int *b);
int main()
{
int a=1, b=2, c=3;
p=&b;
pp(a+c, &b);
cout<<"(2)"<<a<<','<<b<<','<<*p<<endl;
return 0;
}
void pp(int a, int *b)
{
int c=4;
*p=*b+c;
a=*p-c;
cout<<"(1)"<<a<<','<<*b<<','<<*p<<endl;
}
预期结果:
(1)2,2,6
(2)1,6,6
实际结果:
学习感悟:本来全对的,但看到两个输出的指针都是6,6的时候就有点不淡定,结果就改错了。。。。不管是实参还是形参,只要是指针,都是牵一发而动全身,都会变化的。