请编写函数voidswap(int *px,int *py)与void swap(ht &px,int &PY),实现主程序中变量a和b值的交换。 输出结果如下: 3 2 2 3 注意:部分源程序已存在文件test5_2.cpp中。

admin2009-01-15  22

问题 请编写函数voidswap(int *px,int *py)与void swap(ht &px,int &PY),实现主程序中变量a和b值的交换。
输出结果如下:
3    2
2    3
注意:部分源程序已存在文件test5_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数相应的花括号中填写若干语句。
文件test5_2.cpp的内容如下:
   #include<iostream.h>
   void swap(int *px,int *py)
   {
   /***1***/
   }
   void swap(int &px,int &PY)
   {
   /***2**/
   }
   void main()
   {
   int a=2,b=3;
   swap(a,b);
   cout<<a<<"  "<<b<<endl;
   swap(&a,&b);
   cout<<a<<"  "<<b<<endl;
   }

选项

答案(1) void swap(int *px,int *py) { int temp; temp=*px; *px=*py; *py=temp; } (2) void swap(int &px,int &PY) { int temp; temp=px; px=Py; py=temp; }

解析 本题主要考查点是函数的参数传递,指针与引用的区别。指针存放的是它指向的数据的地址,而引用就是给变 量起一个别名,两者都是传址调用。调用指针,实参需要使用取地址&,形参需要使用取内容,而引用调用与一般调用只在形参上不同,使用引用符号&,其他的完全相同。
转载请注明原文地址:https://kaotiyun.com/show/mKID777K
0

最新回复(0)