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

正文內(nèi)容

c和c程序設計員應聘常見面試試題深入剖析(已修改)

2025-09-01 10:03 本頁面
 

【正文】 C/C++ 程序設計員應聘常見面試試題深入剖析 20200628 09:43:34 來源 : eNet 硅谷動力 網(wǎng)友評論 1 條 進入論壇 本文的寫作目的并不在于提供 C/C++程序員求職面試指導,而旨在從技術上分析面試題的內(nèi)涵。文中的大多數(shù)面試題來自各大論壇,部分試題解答也參考了網(wǎng)友的意見。 許多面試題看似簡單,卻需要深厚的基本功才能給出完美的解答。企業(yè)要 求面試者寫一個最簡單的 strcpy 函數(shù)都可看出面試者在技術上究竟達到了怎樣的程度,我們能真正寫好一個 strcpy 函數(shù)嗎?我們都覺得自己能,可是我 們寫出的 strcpy 很可能只能拿到 10 分中的 2 分。讀者可從本文看到 strcpy 函數(shù)從 2分到 10 分解答的例子,看看自己屬于什么樣的層 次。此外,還有 一些面試題考查面試者敏捷的思維能力。 分析這些面試題,本身包含很強的趣味性;而作為一名研發(fā)人員,通過對這些面試題的深入剖析則可進一步增強自身的內(nèi)功。 試題 1: void test1() { char string[10]。 char* str1 = 0123456789。 strcpy( string, str1 )。 } 試題 2: void test2() { char string[10], str1[10]。 int i。 for(i=0。 i10。 i++) { str1[i] = 39。a39。 } strcpy( string, str1 )。 } 試題 3: void test3(char* str1) { char string[10]。 if( strlen( str1 ) = 10 ) { strcpy( string, str1 )。 } } 解答: 試題 1字符串 str1 需要 11個字節(jié)才能存放下(包括末尾的 ’ \0’ ),而string 只有 10 個字節(jié)的空間, strcpy 會導致數(shù)組越界; 對試題 2,如果面試者指出字符數(shù)組 str1 不能在數(shù)組內(nèi)結束可以給 3分;如果面試者指出 strcpy(string, str1)調(diào)用使得從 str1 內(nèi)存起復制到 string內(nèi)存起所復制的字節(jié)數(shù)具有不確定性可以給 7分,在此基礎上指出庫函數(shù) strcpy工作方式的給 10 分; 對試題 3, if(strlen(str1) = 10)應改為 if(strlen(str1) 10),因為strlen 的結果未統(tǒng)計 ’ \0’ 所占用的 1 個字節(jié)。 剖析: 考查對基本功的掌握: (1)字符串以 ’ \0’ 結尾 ; (2)對數(shù)組越界把握的敏感度; (3)庫函數(shù) strcpy 的工作方式,如果編寫一個標準 strcpy 函數(shù)的總分值為10,下面給出幾個不同得分的答案: 2分 void strcpy( char *strDest, char *strSrc ) { while( (*strDest++ = * strSrc++) != ‘ \0’ )。 } 4分 void strcpy( char *strDest, const char *strSrc ) //將源字符串加 const,表明其為輸 入?yún)?shù),加 2分 { while( (*strDest++ = * strSrc++) != ‘ \0’ )。 } 7分 void strcpy(char *strDest, const char *strSrc) { //對源地址和目的地址加非 0斷言,加 3 分 assert( (strDest != NULL) amp。amp。 (strSrc != NULL) )。 while( (*strDest++ = * strSrc++) != ‘ \0’ )。 } 10 分 //為了實現(xiàn)鏈式操作,將目的地址 返回,加 3分! char * strcpy( char *strDest, const char *strSrc ) { assert( (strDest != NULL) amp。amp。 (strSrc != NULL) )。 char *address = strDest。 while( (*strDest++ = * strSrc++) != ‘ \0’ )。 return address。 } 從 2分到 10分的幾個答案我們可以清楚的看到,小小的 strcpy 竟然暗藏著這么多玄機,真不是蓋的! 需要多么扎實的基本功才能寫一個完美的 strcpy ?。? (4)對 strlen 的掌握,它沒有包括字符串末尾的 39。\039。 讀者看了不同分值的 strcpy 版本,應該也可以寫出一個 10 分的 strlen 函數(shù)了,完美的版本為: int strlen( const char *str ) //輸入?yún)?shù) const { assert( strt != NULL )。 //斷言字符串地址非 0 int len。 while( (*str++) != 39。\039。 ) { len++。 } return len。 } 試題 4: void GetMemory( char *p ) { p = (char *) malloc( 100 )。 } void Test( void ) { char *str = NULL。 GetMemory( str )。 strcpy( str, hello world )。 printf( str )。 }
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1