第十七周 项目一--体会函数参数传递

来源:互联网 发布:浮云淘宝小号 编辑:程序博客网 时间:2024/06/05 20:40

问题及代码:

/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作者:吴胜男*完成日期:2014年12月19日*版本号:v1.0**问题描述:阅读下面的程序,写出期望中的运行结果。上机运行对照,并用单步执行的方法再次体会,完全掌握用指针和引用作为形式参数的用法。*输入描述:略*程序输出:略*/#include <iostream>using namespace std;void fun1(int &x,int &y);void fun2(int *x, int *y);int main(){    int a,b;    a=11;    b=22;    fun2(&a,&b);    cout<<"a="<<a<<" b="<<b<<endl;    fun1(a, b);    cout<<"a="<<a<<" b="<<b<<endl;    return 0;}void fun1(int &x,int &y){    int t;    t=x;    x=y;    y=t;}void fun2(int *x, int *y){    int  *t;    t=x;    x=y;    y=t;}

运行结果:

知识点总结:在指针自定义函数中交换的只是地址并不是函数的数值,虽然地址改变了,但数值未变,所以输出时仍为原值。而在引用自定义函数中直接交换的就是原数值,所以数值改变。

学习心得:要弄清楚指针的作用,区分指针和引用。

0 0