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

来源:互联网 发布:美工助手破解版 编辑:程序博客网 时间:2024/05/03 14:28

问题及代码:

问题描述:C/C++语言中函数参数传递的三种方式

输入描述:两个待交换的整数

程序输出:交换后得到的整数


#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);  //交换的是两个整数x、y的值,无法赋值到a、b,故a、b的值没有交换    printf("调用交换函数后的结果是:%d %d\n", a, b);    return 0;}#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);  //保存的是地址,而不是数值      printf("调用交换函数后的结果是:%d %d\n", a, b);      return 0;  }  #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);  //不会再重新分配空间,x、y是a、b的另一个名字      printf("调用交换函数后的结果是:%d %d\n", a, b);      return 0;  }  

运行结果:

一:


二:


三:


知识点总结:

第一个传值的方式只是在形参上改变了数值,没有在实参上改变,所以不能成功交换数值;

第二个传地址的方式是保存了地址,改变了原来的地址,所以成功地交换了数值;

第三个引用作形参的方式是最简便的,它不会再重新分配空间,代码中的x、y为a、b的另一个名字。

学习心得:

通过这三个小程序,我明白了三种不同函数参数传递方式的不同,感受到了C语言的乐趣,在失败中解决自己的疑惑,懂得了积累和坚持总能成功。从现在开始,就算是专业人员的身份在CSDN安营扎寨了,相信自己,努力能行!

阅读全文
0 0
原创粉丝点击