linux C經典面試題十

2021-06-08 07:21:14 字數 885 閱讀 5550

1.請問以下**有什麼問題:

int  main()

沒有為str分配記憶體空間,將會發生異常

問題出在將乙個字串複製進乙個字元變數指標所指位址。雖然可以正確輸出結果,但因為越界進行內在讀寫而導致程式崩潰。

char* s="aaa";

printf("%s",s);

s[0]='b';

printf("%s",s);

有什麼錯?

"aaa"是字串常量。s是指標,指向這個字串常量,所以宣告s的時候就有問題。

cosnt char* s="aaa";

然後又因為是常量,所以對是s[0]的賦值操作是不合法的。

1、寫乙個「標準」巨集,這個巨集輸入兩個引數並返回較小的乙個。

.#define min(x, y) ((x)>(y)?(y):(x))//結尾沒有;

2、嵌入式系統中經常要用到無限迴圈,你怎麼用c編寫死迴圈。

while(1){}或者for(;;)

3、關鍵字static的作用是什麼?

定義靜態變數

4、關鍵字const有什麼含意?

表示常量不可以修改的變數。

5、關鍵字volatile有什麼含意?並舉出三個不同的例子?

提示編譯器物件的值可能在編譯器未監測到的情況下改變。

int (*s[10])(int) 表示的是什麼啊

int (*s[10])(int) 函式指標陣列,每個指標指向乙個int func(int param)的函式。

1.有以下表示式:

int a=248; b=4aa = a - b;

ora = a^b;// 只能對int,char..

b = a^b;

a = a^b;

ora ^= b ^= a;

linux C經典面試題十

1.請問以下 有什麼問題 int main 沒有為str分配記憶體空間,將會發生異常 問題出在將乙個字串複製進乙個字元變數指標所指位址。雖然可以正確輸出結果,但因為越界進行內在讀寫而導致程式崩潰。char s aaa printf s s s 0 b printf s s 有什麼錯?aaa 是字串常...

linux C經典面試題 四

例子 code examples 12 下面的 輸出是什麼,為什麼?void foo void 這個問題測試你是否懂得c語言中的整數自動轉換原則,我發現有些開發者懂得極少這些東西。不管如何,這無符號整型問題的答案是輸出是 6 原因是當表示式中存在有符號型別和無符號型別時所有的運算元都自動轉換為無符號...

linux C經典面試題六

11.windows是核心級執行緒麼。12.linux有核心級執行緒麼。答 執行緒通常被定義為乙個程序中 的不同執行路線。從實現方式上劃分,執行緒有兩 種型別 使用者級執行緒 和 核心級執行緒 使用者執行緒指不需要核心支援而在使用者程式 中實現的執行緒,其不依賴於作業系統核心,應用程序利用執行緒庫提...