C語言面試經典tips

2021-07-14 14:51:37 字數 1242 閱讀 3544

1、迴圈執行了多少次?

#include

int main()

return

0;}

question:

迴圈執行了多少次??

答: char的範圍是: [-128, 127], i<128 條件一不滿足,死迴圈。

2、下列返回值輸出( )

int func(void)

return

sum;

}

答:unsigned char 的範圍是:[0 127], i–一直減下去,不可能i<0, 因此會出現死迴圈,函式永遠沒有返回值。

3、不用第三方變數交換資料

a = a + b;

b = a - b;

a = a - b;

或:

i = i*j;

j = i/j;

i = i/j;

4、不呼叫庫函式實現字串拷貝

#include 

#include

/* 實現字串拷貝 */

char *strcpy(char *dest, const

char *src)

return _dest;

}int main()

; strcpy(buf, p);

printf("buf = %s\n", buf);

return

0;}

5、刪除重複字串:

#include 

#include

#include

/* c語言刪除重複字串 */

char *delrepeatestr(char * output, const

char *input)

}if(0 == flag)

}out[k] = '\0';

return

out;

}int main()

; delrepeatestr(out, p);

printf("out: %s\n", out);

return

0;}

c語言程式設計Tips

程式設計tips 少加括號,減少閱讀的難度。在優先順序明顯的情況下 在使用等於號 時,常量放左邊,變數放右邊,避免出錯 寫成賦值運算子 短路運算 代替 if 0 j printf you can t see me n 1 j printf your can t see me n 整形乘除2的倍數可以...

C語言經典面試試題

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

經典C語言面試題

1.gets 函式 問 請找出下面 裡的問題 include intmain void 答 上面 裡的問題在於函式gets 的使用,這個函式從stdin接收乙個字串而不檢查它所複製的快取的容積,這可能會導致快取溢位。這裡推薦使用標準函式fgets 代替。2.strcpy 函式 問 下面是乙個簡單的密...