街头篮球c盖帽技巧最新:如何不使用中间变量实现两个整数的交换

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/19 12:03:05
如何不使用中间变量实现两个整数的交换(c语言)
面试题,没做出来,郁闷,楼下同志那种方法是属于没有使用中间变量吗?谢谢!

用引用就可以啦!
第一种方法:
#include <iostream>
int main()
{
void swap(int & a,int & b);
int i,j;
i=3;
j=5;
swap(i,j);
using namespace std;
cout<<"i="<<i<<" j="<<j<<endl;
return 0;
}
void swap(int & a ,int & b)
{
int temp;
temp=a;
a=b;
b=temp;
}
第二种方法:
#include <iostream>
int main()
{
void swap(int & a,int & b);
int i,j;
i=3;
j=5;
swap(i,j);
std::cout<<"i="<<i<<" j="<<j<<std::endl;
return 0;
}
void swap(int & a ,int & b)
{
int temp;
temp=a;
a=b;
b=temp;
}

x=x+y;
y=x-y;
x=x-y;

好像不行吧,那样的话总是会失去一个数的。
最起码我不会

不可以.不过可以调用函数.用指针来交换地址,不过这样实际上更加耗用资源.
但是有大量的交换时用函数可以简化程序设计.

汗,想不出
如果两行程序能同时进行的话,就能交换了啊!可是程序都是一条条的运行的啊

交换指针