C語言面試題三 思科篇

2021-04-06 22:51:37 字數 587 閱讀 8203

思科

1. 用巨集定義寫出swap(x,y)

#define swap(x, y)/

x = x + y;/

y = x - y;/

x = x - y;

2.陣列a[n],存放了1至n-1個數,其中某個數重複一次。寫乙個函式,找出被重複的數字.時間複雜度必須為o(n)函式原型:

int do_dup(int a,int n)

3 一語句實現x是否為2的若干次冪的判斷

int i = 512;

cout << boolalpha << ((i & (i - 1)) ? false : true) << endl;

4.unsigned int intvert(unsigned int x,int p,int n)實現對x的進行轉換,p為起始轉化位,n為需要轉換的長度,假設起始點在右邊.如x=0b0001 0001,p=4,n=3轉換後x=0b0110 0001

unsigned int intvert(unsigned int x,int p,int n)

_t = _t << p;

x ^= _t;

return x;

}

C語言面試題三 思科篇

思科 1.用巨集定義寫出swap x,y define swap x,y x x y y x y x x y 2.陣列a n 存放了1至n 1個數,其中某個數重複一次。寫乙個函式,找出被重複的數字.時間複雜度必須為o n 函式原型 int do dup int a,int n 3 一語句實現x是否為...

C語言面試題高階篇

1.判斷單鏈表是否帶環?若帶環,求環的長度?求環的入口點?首先判斷是否帶環,在這裡用快慢指標,快指標每次走兩步,慢指標每次只走一步,無環的快指標會先走到頭,如果快指標等於慢指標那麼說名單鍊錶存在環,會返回 相遇點,如果無環會返回 空指標。為什麼乙個走兩步乙個走一步就可以呢,因為fast比slow走的...

C語言面試題五 Intel篇

intel a.c 和b.c兩個c檔案中使用了兩個相同名字的static變數,編譯的時候會不會有問題?這兩個static變數會儲存到 棧還是堆或者其他的 static的全域性變數,表明這個變數僅在本模組中有意義,不會影響其他模組。他們都放在資料區,但是編譯器對他們的命名是不同的。如果要使變數在其他模...