C 面試題之a和b交換面試題

2021-05-23 21:42:26 字數 696 閱讀 1157

//a和b交換面試題1.cpp

//there are two int variables:a and b,don't use "if","?:"."switch" or other judgement statements,

//find out the biggest one of the two numbers.[美國某著名網路開發公司2023年面試題]

//答案:

// 方案一:

//int max=((a+b)+abs(a-b))/2

//方案二:

//int c=a-b;

//char* strs[2]=;

//c=unsigned(c)>>(sizeof(int)*8-1);

//如何將a、b的值交換,並且不使用任何中間變數?

//解析:

//簡而言之,用異或語句比較容易,不用擔心超界的問題。

//如果採用:

//  a=a+b;

//  b=a-b;

//  a=a-b;

//這樣做的缺點就是如果a,b都是比較大的兩個數,a=a+b時就會超界。

//而採用:

//  a=a^b; b=a^b;a=a^b;無須擔心超界的問題,這樣就比較好。

//參與運算的兩數個對應的二進位制位相異或,當對應的二進位制位相異時,結果為1。參與運算數仍以補碼

//形式出現。

C 面試題之i 面試題

i 面試題1.cpp 中國台灣某著名防毒軟體公司2005年10月面試題 int i 3,j 4 i?i j printf d d n i,j a.3 3 b.4 4 c.3 4 d.4 3 答案b i 面試題2.cpp 中國某著名計算機金融軟公司2005年面試題 int x 1,j 2 int k ...

C 面試題之sizeof面試題

sizeof面試題1.cpp what is the output of the following code?美國某著名計算機軟硬體公司面試題 include include include using namespace std structa structb int main 解析 ss1是乙...

C語言面試題之華為面試題

1 區域性變數能否和全域性變數重名?答 能,區域性會遮蔽全域性。要用全域性變數,需要使用 區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義乙個同名的區域性變數...