華為面試程式碼筆試題目

才智咖 人氣:6.29K

華為面試程式碼筆試題目會考什麼?難不難?下面是網友回憶版,為大家提供參考。

華為面試程式碼筆試題目

題目:

有兩個陣列a,b,大小都為n,陣列元素的值任意,無序;

要求:

通過交換a,b中的元素,使陣列a元素的和與陣列b元素的和之間的差最小。

找錯題:

1.請問下面程式有什麼錯誤? int a[60][250][1000],i,j,k; for(k=0;k <=1000;k++) for(j=0;j <250;j++) for(i=0;i <60;i++) a[i][j][k]=0; 答案:把迴圈語句內外換一下

2。以下是求一個數的平方的程式,請找出錯誤: #define SQUARE(a) ((a)*(a)) int a=5; int b; b=SQUARE(a++); 答案:這個沒有問題,s(a++),就是((a++)×(a++))唯一要注意的就是計算後a=7了 3。typedef unsigned char BYTE int examply_fun(BYTE gt_len; BYTE *gt_code) { BYTE *gt_buf; gt_buf=(BYTE *)MALLOC(Max_GT_Length); ...... if(gt_len>Max_GT_Length) { return GT_Length_ERROR; } ....... } 答案:要釋放記憶體問答題: Phone的原理是什麼? 答案:IPV6 通訊建立的過程怎樣,埠有什麼作用?答案:三次握手,確定是哪個應用程式使用該協議 (三)

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

2、如何引用一個已經定義過的全域性變數?答案:extern 可以用引用標頭檔案的方式,也可以用extern關鍵字,如果用引用標頭檔案方式來引用某個在標頭檔案中宣告的全域性變理,假定你將那個變寫錯了,那麼在編譯期間會報錯,如果你用extern方式引用時,假定你犯了同樣的錯誤,那麼在編譯期間不會報錯,而在連線期間報錯

3、全域性變數可不可以定義在可被多個.C檔案包含的標頭檔案中?為什麼?答案:可以,在不同的C檔案中以static形式來宣告同名全域性變數。可以在不同的C檔案中宣告同名的全域性變數,前提是其中只能有一個C檔案中對此變數賦初值,此時連線不會出錯

4、語句for( ;1 ;)有什麼問題?它是什麼意思?答案:和while(1)相同。

5、do……while和while……do有什麼區別?答案:前一個迴圈一遍再判斷,後一個判斷以後再迴圈。

6、請寫出下列程式碼的輸出內容#include main() { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf("b,c,d:%d,%d,%d",b,c,d); return 0; } 答案:10,12,120 a=10; b=a++;//a=11 b=10 c=++a;//a=12 c=12 d=10*a++;//a=13 d=120