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

来源:互联网 发布:科比历年数据统计 编辑:程序博客网 时间:2024/05/22 16:00
/**Copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作者:张雯婧*完成日期:2016年9月5号**问题描述:交换两个整形变量*程序输入:两个待交换的整数*程序输出:交换后的两个整数*/
//(1) 传值

#include<iostream>  02.using namespace std;  03.void myswap1(int x,int y)  04.{  05.int t;  06.t=x;  07.x=y;  08.y=t;  09.}  10.int main()  11.{  12.int a,b;  13.printf("请输入待交换的两个整数:“);  14.scanf(“%d%d",&a,&b);  15.myswap1(a,b);  16.printf("调用交换函数后的结果是: %d和 %d\n",a,b);  17.return 0;  18.}  

运行结果:


//(2)传地址 
#include<iostream>  02.using namespace std;  03.void myswap2(int *p1,int *p2)  04.{  05.int t;  06.t=*p1;  07.*p1=*p2;  08.*p2=t;  09.}  10.int main()  11.{  12.int a,b;  13.printf("请输入待交换的两个整数:“);  14.scanf(“%d%d",&a,&b);  15.myswap2(&a,&b);  16.printf("调用交换函数后的结果是: %d和 %d\n",a,b);  

运行结果:


//(3)引用作形参
  1. #include<stdio.h>    
  2. void myswap3(int &x,int &y)    
  3. {    
  4.     int t;    
  5.  t=x;    
  6.     x=y;    
  7.     y=t;    
  8. }    
  9. int main()    
  10. {    
  11.     int a,b;    
  12.     printf("请输入待交换的两个整数:");    
  13.     scanf("%d%d",&a,&b);    
  14.     myswap3(a,b);    
  15.    printf("调用交换函数后的结果是:%d和%d\n",a,b);    
  16.    return 0;    
  17. }    
运行结果:

知识点总结:

在传值时,交换的是形参,并非交换的是实参,传地址和指针可以交换。

学习心得:

懂得了传值与指针,地址的不同,有利于进一步了解并学习C语言。




0 0