题目一:有两个变量a,b,不用if /?:/swithc/或其他的判断语句,找出两个数中比较大。
方案一:
int max=((a+b)+abs(a-b))/2;
方案二:
int c=a-b;
char *strs[2]={"a large","b large"};
c=unsigned(c)>>(sizeof(int))*8-1;
题目二:如何将a,b的值进行交换,并且不适用任何中间比变量。
方案一:
a=a+b;
b=a-b;
a=a-b;
方案二:
a=a^b;
b=a^b;
a=a^b;