第一篇:C、C++程序員常見面試題深入剖析
1.引言 本文的寫作目的并不在于提供C/C++程序員求職面試指導(dǎo),而旨在從技術(shù)上分析面試題的內(nèi)涵。文中的大多數(shù)面試題來自各大論壇,部分試題解答也參考了網(wǎng)友的意見-。
許多面試題看似簡單,卻需要深厚的基本功才能給出完美的解答。企業(yè)要求面試者寫一個最簡單的strcpy函數(shù)都可看出面試者在技術(shù)上究竟達(dá)到了怎樣的程
度,我們能真正寫好一個strcpy函數(shù)嗎?我們都覺得自己能,可是我們寫出的strcpy很可能只能拿到10分中的2分。讀者可從本文看到strcpy 函數(shù)從2分到10分解答的例子,看看自己屬于什么樣的層次。此外,還有一些面試題考查面試者敏捷的思維能力。
分析這些面試題,本身包含很強(qiáng)的趣味性;而作為一名研發(fā)人員,通過對這些面試題的深入剖析則可進(jìn)一步增強(qiáng)自身的內(nèi)功。2.找錯題
試題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;i<10;i++){ str1 = 'a'; } strcpy(string, str1); } 試題3:
void test3(char* str1){ char string[10];if(strlen(str1)<= 10){ strcpy(string, str1);} } 解答:
試題1字符串str1需要11個字節(jié)才能存放下(包括末尾的'