C語言常見面試試題

2021-05-14 16:55:08 字數 686 閱讀 3798

華為1、區域性變數能否和全域性變數重名?

答:能,區域性會遮蔽全域性。要用全域性變數,需要使用"::"

區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義乙個同名的區域性變數,而那個區域性變數的作用域就在那個迴圈體內

2、如何引用乙個已經定義過的全域性變數?

答:extern

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

3、全域性變數可不可以定義在可被多個.c檔案包含的標頭檔案中?為什麼?

答:可以,在不同的c檔案中以static形式來宣告同名全域性變數。

可以在不同的c檔案中宣告同名的全域性變數,前提是其中只能有乙個c檔案中對此變數賦初值,此時連線不會出錯

4、語句for( ;1 ;)有什麼問題?它是什麼意思?

答:和while(1)相同。

5、do……while和while……do有什麼區別?

答:前乙個迴圈一遍再判斷,後乙個判斷以後再迴圈6、請寫出下列**的輸出內容

#include

main()

答:10,12,120

C語言常見面試試題

1.1,2,7,28,126請問28和126中間那個數是什麼?為什麼?第一題的答案應該是4 3 1 63 規律是n 3 1 當n為偶數0,2,4 n 3 1 當n為奇數1,3,5 答案 63 2.用兩個棧實現乙個佇列的功能?要求給出演算法和思路!設2個棧為a,b,一開始均為空.入隊 將新元素push...

C語言常見面試試題

1.有結構aa,中間有cc域,比較這兩種對cc引用的不同 pp cc,pp,qq各應如何定義。a pp是指向結構aa的指標,定義為struct aa pp qq是結構aa型別的變數,定義為 struct aa qq 2.比較 union 和 struct 的不同 a 在分配空間時,union中的各個...

C語言常見面試試題

1 下面的測試題中,認為所有必須的標頭檔案都已經正確的包含了 2 資料型別 char乙個位元組1byte int兩個位元組2byte 16位系統,認為整型是2個位元組 longint四個位元組4byte float四個位元組4byet double八個位元組8byte longdouble十個位元組...