第2周 【项目一】 利用函数实现传值

来源:互联网 发布:股票数据接口插件 编辑:程序博客网 时间:2024/06/06 00:29

演示一(函数直接传值):

#include <iostream>
using namespace std;
void myswap(int x,int y)
{
   int p;
  p=x;
   x=y;
   y=p;
}
int main()
{
   int a,b;
   cout<<"
请输入带交换的两个整数"<<endl;
   cin>>a>>b;
   myswap(a,b);
   cout<<a<<" "<<b<<endl;
   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;
   cout<<"
请输入带交换的两个整数"<<endl;
   cin>>a>>b;
   myswap(&a,&b);
   cout<<a<<" "<<b<<endl;
   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;
   cout<<"
请输入带交换的两个整数"<<endl;
   cin>>a>>b;
   myswap(a,b);
   cout<<a<<" "<<b<<endl;
   return 0;
}

解释:

利用引用,通过引用参数别名,从而实现交换作用。

运行结果:




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