第二周项目—利用函数参数传递的三种方式

来源:互联网 发布:相册视频软件 编辑:程序博客网 时间:2024/06/05 20:42
*Copyright  (c)2017,烟台大学计算机与控制工程学院*All rights reservrd.*文件名称 :test.cpp*作者:刘文平*完成时间:2017年9月7日*版本号:v1.0*问题描述:解决函数参数传递*输入描述:两个整数*程序输出:交换后的两个整数传值法:#include<stdio.h>using namespace std;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);    printf("调用交换函数后的结果是:%d 和 %d\n", a, b);    return 0;}传地址法:#include<stdio.h>using namespace std;void myswap(int *p1, int *p2){    int  t;    t=*p1;    *p1=*p2;    *p2=t;}int main(){    int a, b;int *p1,*p2;p1=&a;p2=&b;    printf("请输入待交换的两个整数:");    scanf("%d %d", &a, &b);    myswap(p1,p2);    printf("调用交换函数后的结果是:%d 和 %d\n", a, b);    return 0;}引用法:#include<stdio.h>using namespace std;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);    printf("调用交换函数后的结果是:%d 和 %d\n", a, b);    return 0;}知识点总结:    程序1不能成功将输入的两个数值进行交换,因为只是将实参的数传递给形参,并没有进行值之间的交换。三种进行函数参数的传递,引用法和传地址法能够有效的进行交换。学习心得:    初次接触csdn,有些生疏,多加练习,一定会有很大的提高。

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