年輕人第一道C語言面試題

2021-10-14 22:27:15 字數 1267 閱讀 6353

題目:請問以下例1和例2的str有什麼區別?

例1:

#include int main(int argc,char **ar**)

; printf("%s\n",str);

}

例2:

#include int main(int argc,char **ar**)

解析:

術語:例1字串陣列,例2字串指標

關鍵點:

例1、例2的str和helloword在**,這個答道位就可

例1:一、程式執行到main後,

1.1、str變數處於棧空間(本質上它是char [10]型別),佔空間4個位元組(預設32位機器)

1.2、棧中分配陣列,陣列大小為11個位元組

1.3、str所指向的內容就是陣列頭,陣列頭位址賦值給str變數

1.4、陣列容納資料量的大小為11個位元組

1.5、陣列容納資料內容目前是未知的

1.6、引申:能修改str所指向的內容

二、程式執行到4行後,

2.1、str所指向的陣列才會有內容

例2:程式執行到main後,

1.1、str處於棧空間(本質上它是char *型別),佔空間4個位元組(預設32位機器)

1.2、str所指向的內容未知的

二、程式執行到4行後

2.1、str才會有內容

2.2、"hello,word"在唯讀文字段中,**執行到此後進行賦值動作

2.3、引申:不能修改str所指向的內容

得分點:

1、術語(佔30分)

只是入門款對知識點知道,不能抓住考官的心,

2、本質

考官一般基於這個問題再深入問下去,考官希望通過乙個小點,來看你對以下內容的理解:

變數讀寫的屬性(又加30分)

靜態的可執行程式與執行時程式的差異(再加30分)

tips:

c是乙個把蘭州拉麵廚師的手中的切牛肉的刀,用的好食客會看到很多片牛肉(但是其實分量草雞小),用的差食客碗裡都是牛肉塊了。

c語言並不是給新人用來工作的,是給專家來使用的,所以學習c是乙個相對漫長的過程,市面上寫的《一周學會》、《一月學會》等等書籍,看著也是讓人深思,這也是一種誤導。

c語言本質上就是簡潔的,它伴隨unix一起被人創造出來,高傲的簡潔效能造就了它本質深奧的源泉。

以上可能就是你踏入工地後,收到c語言暴擊後的見面禮。

年輕人第二道C語言面試題

題目 程式執行結束應該列印什麼呢?include include int main int argc,char ar 解析 術語 記憶體越界 溢位 棧空間 棧記憶體分配排序 關鍵點 原因 記憶體越界 溢位 本質 棧空間 棧記憶體分配排序 具體 詳細步驟分析 這一題目根據對c語言的理解不同,結果也不同...

一道c 面試題

float a 1.0f cout int a endl cout int a endl int a 是什麼意思?cout boolalpha int a int a endl float b 0.0f cout int b endl cout int b endl cout boolalpha i...

一道面試題

一道面試題 射擊運動員10發打中90環有多少種可能,請編寫程式計算出來,並列印出結果,0環和10環均有效。打中90環就是沒打中10環,所以打中90環跟打中10環的可能性是一樣的。然後開始遞迴狂打槍,一到10就記錄 if params i 10 在迴圈的控制中已經排除了大於10的可能性 i 10 pa...