第二周项目1-C/C++语言中函数参数传递的三种方式

来源:互联网 发布:dropbox 类似软件 编辑:程序博客网 时间:2024/06/05 20:49

问题及代码:

/*   *Copyright(c) 2016,烟台大学计算机学院   *All rights reserved。   *文件名称:123.cpp   *作者: 臧新晓  *完成日期:2016年9月7号   *版本号:V1.0.1  *   *问题描述:函数参数传递的三种方式   输入描述:两个待交换整数  输出描述: 两个整数 */    

//(1)传值

#include <stdio.h>    void myswap(int x, int y)      {          int t;      t=x;      x=y;      y=t;  }       int main()    {        int a, b;          printf("请输入待交换的两个整数:");          scanf("%d %d", &a, &b);          myswap(a,b);  //分三个程序,分别写上调用myswap的合适形式           printf("调用交换函数后的结果是:%d 和 %d\n", a, b);          return 0;      }      
运行结果:


//(2)传地址 #include <stdio.h>    void myswap(int *p1, int *p2)      {          int t;      t=*p1;      *p1=*p2;      *p2=t;  }       int main()    {        int a, b;          printf("请输入待交换的两个整数:");          scanf("%d %d", &a, &b);          myswap(&a,&b);  //分三个程序,分别写上调用myswap的合适形式           printf("调用交换函数后的结果是:%d 和 %d\n", a, b);          return 0;      }      
运行结果:


//(3)引用作形参 #include <stdio.h>    void myswap(int &x, int &y)      {          int t;      t=x;      x=y;      y=t;  }       int main()    {        int a, b;          printf("请输入待交换的两个整数:");          scanf("%d %d", &a, &b);          myswap(a,b);  //分三个程序,分别写上调用myswap的合适形式           printf("调用交换函数后的结果是:%d 和 %d\n", a, b);          return 0;      }      

运行结果:


知识点总结:
程序运用了指针和引用的方式交换了两个整型变量,用形参不可以交换实际数值。




0 0