筆者注:以下的題目均是筆者從各種書籍,網站蒐羅而來,未能一一標明出處,請見諒。如有版權問題,請聯繫筆者,筆者會在最短時間內處理。
1.有兩個變量a,b,不使用if,switch,?:或其他判斷語句,找出兩個數中的較大者。【美國某公司面試題】
int max = ((a+b) + abs(a-b))/2;
2.不用循環,用一個表達式判斷整數X是否是2的冪數。!(X&(X-1))
/*若(X&(X-1)) == 0,則X是2的冪數,否則,不是。*/
3.不借助中間變量,實現a,b兩個數的值的互換。
(1)/*a+b超界可能性*/
a = a+b;
b = a-b;
a = a-b;
(2)/*異或操作*/
a = a^b;
b = a^b;
a = a^b;