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;
已知int a=1;int b;b=(++a)+(++a)+(++a);为什么b=10?
设a = 5,b = 10,则执行 c = Int((b - a) * Rnd + a) + 1,结果为多少
void a(int a,int b=0)的含义?
java中的数组赋值给数组问题int[ ] a=new int[10];int[ ] b=new int[8];
int a=2,b=3,c=4;a*=10+(b++)-(++c);执行完语句后a的值是多少?
C语言中 指针int *a=10;和int *a; *a=10;的区别
int a=5,b; b=++a*--a;
int a=b;与int a,b;a=b;的区别
unsigned int a=2;int b = -3;
执行语句int a,b,c; a=(b=c=3, c++, b+=c);则a的值是?请说明理由