程式設計面試題 1 C C 區域性字串變數

2022-09-02 02:33:11 字數 564 閱讀 2238

問題:

#include

char *getmemory(void)

int main()

{char *str=null;

str=getmemory();

cout<

解答:

這段程式輸出是亂碼. 但是如果把char p = "hello world"; 改成 char *p = "hello world";就能輸出正確了. 一般在c中我們習慣於把陣列變數和指標變數宣告等同的使用.但是其中還是有一些區別的. 這裡的原因是:

事實上無論哪種情況"hello world"在編譯時已經放在read only data段裡面了

char *p的宣告只是產生了乙個指向這個data段資料的指標;但是後果是你不能通過p來修

改這個字串.

char p 的宣告是產生乙個棧上char陣列, 而陣列的內容在執行時從data段copy而來,

所以可以通過p修改這個copy來的字串;但後果是它會隨著棧幀的消亡而消亡, 並且有

產生overflow的隱患.

字串高頻面試題。

一 題目 把乙個01 只包含0和1的串 串進行排序。可以交換任意兩個位置,求最少交換的次數。方法 仿造快速排序裡面的partition的過程。最左邊的0和1是沒有意義的,從左到右掃到第乙個1,從右到左掃到第乙個0,然後交換,然後繼續掃下去,就ok啦。include include define ma...

面試題 分割字串

package interview.string public class splitdemo 程式設計 編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如 我abc 4,應該截為 我ab 輸入 我abc漢def 6,應該輸出為 我abc 而不是...

字串相關面試題

面試題目 字串專題 c字串處理函式彙總實現 面試大多會用到 一道面試題 從乙個字串中找出第乙個不重複字元 程式設計師面試題精選100題 36 在字串中刪除特定的字元 一 整數與字串之間的相互轉換 字串處理函式彙總實現 面試大多會用到 轉換字串 插入字元個數 www.firnow.com 常見c語言面...