freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

華為c語言面試題-資料下載頁

2025-03-24 23:11本頁面
  

【正文】 em(pause)。return 0。}鏈表實(shí)現(xiàn):includeincludetypedef struct Node{int index。struct Node *next。}JosephuNode。int Josephu(int n, int m){int i, j。JosephuNode *head, *tail。head = tail = (JosephuNode *)malloc(sizeof(JosephuNode))。for (i = 1。 i n。 ++i){tailindex = i。tailnext = (JosephuNode *)malloc(sizeof(JosephuNode))。tail = tailnext。}tailindex = i。tailnext = head。for (i = 1。 tail != head。 ++i){for (j = 1。 j m。 ++j){tail = head。head = headnext。}tailnext = headnext。printf(第M個出局的人是:M號\n, i, headindex)。free(head)。head = tailnext。}i = headindex。free(head)。return i。}int main(){int n, m。scanf(%d%d, amp。n, amp。m)。printf(最后勝利的是%d號!\n, Josephu(n, m))。system(pause)。return 0。}已知strcpy函數(shù)的原型是:char * strcpy(char * strDest,const char * strSrc)。,實(shí)現(xiàn)strcpy函數(shù)。 *。解說:char * strcpy(char * strDest,const char * strSrc){if ((strDest==NULL)||(strSrc==NULL)) file://[/1]throw Invalid argument(s)。 //[2]char * strDestCopy=strDest。 file://[/3]while ((*strDest++=*strSrc++)!=39。\039。)。 file://[/4]return strDestCopy。}錯誤的做法:[1](A)不檢查指針的有效性,說明答題者不注重代碼的健壯性。(B) 檢查指針的有效性時使用((!strDest)||(!strSrc))或(!(strDestamp。amp。strSrc)),說明答題者對C語言中類型的隱式轉(zhuǎn)換沒有深刻認(rèn)識。在本例中char *轉(zhuǎn)換為bool即是類型隱式轉(zhuǎn)換,這種功能雖然靈活,但更多的是導(dǎo)致出錯概率增大和維護(hù)成本升高。所以C++專門增加了bool、true、false 三個關(guān)鍵字以提供更安全的條件表達(dá)式。(C)檢查指針的有效性時使用((strDest==0)||(strSrc==0)),說明答題者不知道使用常量的好處。直接使用字面常量(如本例中的0)會減少程序的可維護(hù)性。0雖然簡單,但程序中可能出現(xiàn)很多處對指針的檢查,萬一出現(xiàn)筆誤,編譯器不能發(fā)現(xiàn),生成的程序內(nèi)含邏輯錯誤,很難排除。而使用NULL代替0,如果出現(xiàn)拼寫錯誤,編譯器就會檢查出來。[2](A)return new string(Invalid argument(s))。,說明答題者根本不知道返回值的用途,并且他對內(nèi)存泄漏也沒有警惕心。從函數(shù)中返回函數(shù)體內(nèi)分配的內(nèi)存是十分危險的做法,他把釋放內(nèi)存的義務(wù)拋給不知情的調(diào)用者,絕大多數(shù)情況下,調(diào)用者不會釋放內(nèi)存,這導(dǎo)致內(nèi)存泄漏。(B)return 0。,說明答題者沒有掌握異常機(jī)制。調(diào)用者有可能忘記檢查返回值,調(diào)用者還可能無法檢查返回值(見后面的鏈?zhǔn)奖磉_(dá)式)。妄想讓返回值肩負(fù)返回正確值和異常值的雙重功能,其結(jié)果往往是兩種功能都失效。應(yīng)該以拋出異常來代替返回值,這樣可以減輕調(diào)用者的負(fù)擔(dān)、使錯誤不會被忽略、增強(qiáng)程序的可維護(hù)性。[3](A)忘記保存原始的strDest值,說明答題者邏輯思維不嚴(yán)密。[4](A)循環(huán)寫成while (*strDest++=*strSrc++)。,同[1](B)。(B)循環(huán)寫成while (*strSrc!=39。\039。) *strDest++=*strSrc++。,說明答題者對邊界條件的檢查不力。循環(huán)體結(jié)束后,strDest字符串的末尾沒有正確地加上39。\039。
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1