網站首頁 工作範例 辦公範例 個人範例 黨團範例 簡歷範例 學生範例 其他範例 專題範例

朗訊筆試題目

欄目: 筆試題目 / 釋出於: / 人氣:4.94K

朗訊筆試題目

朗訊筆試題目--c語言部分

跳出main()函式後還能不能執行其他程式碼 不使用第三個變數,將兩個變數a,b得值互換(不準用函式) 如何判斷一個檔案是由c編譯環境還是c 編譯環境編譯完成的? 不用任何條件語句求兩個整形數的最大值?(不準用函式) struct student {long ..; char .. float .. } 所佔空間多大? 下面是一些解法,又可以從中學習到新東西了,赫赫: 跳出main()函式後還能不能執行其他程式碼 1)atexit 繫結退出函式 2)就是main執行完後,還能否執行其他程式碼 當然可以,通常段的程式碼是最後執行的, 如果有什麼需要在整個程式執行完後做的,就可以放在段做 不使用第三個變數,將兩個變數a,b得值互換(不準用函式) 1。) xor (<===異或???) 2.)a =b; b=a-b; a=a-b; 3)想出一個很不爽的方法 a*(((int)(b-a))>>31) b*(((int)(a-b))>>31) (<==要右移31位?太誇張了巴) 31可以換成sizeof(int)*8-1 如何判斷一個檔案是由c編譯環境還是c 編譯環境編譯完成的? 編譯的時候可以用__cplusplus巨集判斷。 至於編譯完成之後拿elf檔案來判斷,我能想到的就是nm, 看一下有沒有鏈libstdc 。不過這個也不保險。 不用任何條件語句求兩個整形數的最大值?(不準用函式) ?:算不算條件語句?:) struct student {long ..; char .. float .. } 所佔空間多大? 1)data alignment and padding 2)應該是12