#include <iostream>
using namespace std;
void pswap(int * p, int *q);
int main()
{
int a, b;
cin >> a >> b; // 输入两个整数
pswap(&a,&b); // 调用pswap函数,交换a、b的值
cout << a << " " << b << endl; // 输出a、b的值
return 0;
}
//函数pswap:交换指针p和q指向的单元中的整数值
//参数:p,q-int类型指针,指向要交换的整数
void pswap(int * p, int *q)
{
// 请在此添加代码,实现函数pswap
/********** Begin *********/
int a = *p;
*p = *q;
*q = a;
//主要是写这里,以前一直搞不懂用一个a如何交换
实际上是*p,*q,a在这里相当于三个数,指针所指向的是一个首地址,实际上这个地址所代表的空间是一个数
所以此处交换两个数就是相当于三个数相交换。
想不出是把指针想的太复杂
/********** End **********/
}
代码是从educoder c&c++程序设计上复制的