int a=10,b=20,c=30;则能使a和c的值互换的语句是?

来源:百度知道 编辑:UC知道 时间:2024/06/16 11:53:24
如题

比较普通的方式是设置中间变量temp
int temp;
temp=a;
a=c;
c=temp;
但有一种效率更高的方法,就是使用异或,可以用以下赋值语句实现:
a=a^b;
b=b^a;
a=a^b;
呵呵

a=a+c;
c=a-c;
a=a-c;

这样就可以不使用新的变量 同时不改变b的数值 而交换 a,c的值

a = a ^ c;
c = c ^ a;
a = a ^ c;
也可以交换,不用中间变量。
不过没什么用

定义一个中间变量d
int d;
d=a;
a=c;
c=d;

那我当你变量b是已定义的中间量吧,呵呵
b=a;
a=c;
c=b;
或者:
b=a,a=c,c=b;

定义个中间变量!
int x;
x=a;
a=c;
c=x;