關於華為的一道筆試題(傳值和傳引用)

2021-07-14 12:57:32 字數 406 閱讀 6915

#include 

#include

void getmemory(char *p)

int main( )

這個程式的問題

程式崩潰,getmemory中的malloc 不能返回動態記憶體, free()對str操作很危險

可以更改為下面的程式:

#include 

#include

void getmemory(char **p)

int main( )

c語言是值傳遞,故在函式呼叫中修改的值,並不會返傳至主調函式。所以原程式在getmemory函式中malloc獲得的位址空間的首位址的值只在函式內部有效,函式呼叫結束後該值就丟失了

一道華為筆試題 ,記憶體相關

下面一段程式,請說明輸出結果 int tmain intargc,tchar argv 結果為6.0x518 0x500 sizeof int 6 0x0018 4 6 void getmemory char p void test void 請問執行test函式會有什麼樣的結果?答 程式崩潰。因為...

一道關於 g 筆試題

正則裡 g 表示全域性 global 的意思,比如當替換字串時,如果正則不加g,則只替換一次。str hello,jack,hello,lily reg hello res str.replace reg,hi console.log res hi,jack,hello,lily 第二個hello未...

一道關於 g 筆試題

正則裡 g 表示全域性 global 的意思,比如當替換字串時,如果正則不加g,則只替換一次。str hello,jack,hello,lily reg hello res str.replace reg,hi console.log res hi,jack,hello,lily 第二個hello未...