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

来源:互联网 发布:维修基金算法 编辑:程序博客网 时间:2024/05/24 01:44

/*

*Copyright (C) 2014 ,烟台大学计算机学院

*All rights reserved

*文件名称:test.cpp

*作       者:林颖

*完成日期:2016年9月4日

*

*问题描述:输入两个值将其调换输出

*输入描述:两个整型,两个指针,两个地址

*输出描述:输出调换后的两个数

*/

传值:

#include <iostream>

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(x, y);

printf("调用交换函数后的结果是:%d和%d\n",a,b);

return 0;

}


运行结果:无法运行

知识点总结:其虽然引用了函数,但是其经过编译以后并没有以处理后的结果输出,因而,并没有改变两者的值。

传地址:

#include <iostream>

using namespace std;

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(x, y);

printf("调用交换函数后的结果是:%d和%d\n",a,b);

return 0;

}

运行结果:
知识点总结:其能找到相应的位置的数,因而可以进行调用
引用作形参:

#include <iostream>

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(x, y);

printf("调用交换函数后的结果是:%d和%d\n",a,b);

return  0;

}

运行结果:


知识点总结:他在调用的过程中找到了相应的位置,将其中的数进行了调换,因而可以调换成功。

学习心得:以前从来没有发现过一些问题,但是今天的一次编译让我感觉到我对学习的要求不精,并且让我知道了关于调换的三种方式。。

1 0
原创粉丝点击