指针的调用 为什么我选择地址的交换,最后还是不行。 如果我一定要采用这种地址的交换。 能实现我的函数功能吗?
//输入2个数,从大到小输出。 现在只是交换了指针。并未对两个数进行交换。 不能通过改变形参,来改变实参的值??????
#include <iostream>
using namespace std;
int main ()
{
void swap(int *p1,int *p2);
int *pointer_1,*pointer_2,a,b;
cin>>a>>b;
pointer_1=&a;
pointer_2=&b;
if(a<b) swap(pointer_1,pointer_2);
cout<<"max="<<a<<"min="<<b<<endl;
system("pause");
return 0;
}
void swap(int *p1,int *p2)
{
int *p;
p=p1;
p1=p2;
p2=p;
/*int p;
p=*p1;
*p1=*p2;
*p2=*p1;
*/
}
|
|