编写一个交换两个变量的函数,在主程序中调用,用变量地址作为实参,指针变量作为形参,实现两个变量的交换.

求程序并写上每步的含义,谢谢

假设你使用的c语言
#include <stdio.h>
void swap(int* a,int* b)// a,b指针做形参
{
int temp=*a;// 暂存指针a所指变量的值
*a=*b;// 指针b所指的值赋值给a所指变量
*b=temp;// 指针b所指变量的值变为原先a所指的值
}
int main(void)
{
int a=10,b=20;
swap(&a,&b);// a,b 地址做实参
printf("%d %d\n",a,b);
return 0;
}

如果你用的是c++的话,还可以使用引用类型
void swap2(int& a,int& b)
{
int temp=a;

a=b;

b=temp;

}
交换两个变量的值的时候可以使用异或符号^省去中间变量temp:
void swap3(int& a,int& b)
{
a=a^b;

b=a^b;

a=a^b;

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-08
分数太低了
相似回答