- 相關(guān)推薦
程序設(shè)計(jì)筆試題解析
試題1:
void test1()
{
char string[10];
char* str1 = "0123456789";
strcpy( string, str1 );
}
復(fù)制代碼
試題2:
void test2()
{
char string[10], str1[10];
int i;
for(i=0; i<10; i++)
{
str1 = 'a';
}
strcpy( string, str1 );
}
復(fù)制代碼
試題3:
void test3(char* str1)
{
char string[10];
if( strlen( str1 ) <= 10 )
{
strcpy( string, str1 );
}
}
復(fù)制代碼
解答:
試題1字符串str1需要11個(gè)字節(jié)才能存放下(包括末尾的’\0’),而string只有10個(gè)字節(jié)的空間,strcpy會導(dǎo)致數(shù)組越界;
對試題2,如果面試者指出字符數(shù)組str1不能在數(shù)組內(nèi)結(jié)束可以給3分;如果面試者指出strcpy(string, str1)調(diào)用使得從str1[url=]內(nèi)存[/url]起復(fù)制到string內(nèi)存起所復(fù)制的字節(jié)數(shù)具有不確定性可以給7分,在此基礎(chǔ)上指出庫函數(shù)strcpy工作方式的給10分;
對試題3,if(strlen(str1) <= 10)應(yīng)改為if(strlen(str1) < 10),因?yàn)閟trlen的結(jié)果未統(tǒng)計(jì)’\0’所占用的1個(gè)字節(jié),
程序設(shè)計(jì)筆試題解析
,資料共享平臺
《程序設(shè)計(jì)筆試題解析》(http://www.oriental01.com)。剖析:
考查對基本功的掌握:
(1)字符串以’\0’結(jié)尾;
(2)對數(shù)組越界把握的敏感度;
(3)庫函數(shù)strcpy的工作方式,如果編寫一個(gè)標(biāo)準(zhǔn)strcpy函數(shù)的總分值為10,下面給出幾個(gè)不同得分的答案:
【程序設(shè)計(jì)筆試題解析】相關(guān)文章:
招商證券筆試真題01-14
外企面試筆試智力題04-26
交通銀行筆試(機(jī)試)真題07-19
中金財(cái)務(wù)筆試真題10-17
海爾筆試03-13
如何準(zhǔn)備筆試04-21
判斷筆試題03-13
強(qiáng)生筆試題03-13
德勤的筆試題(附匯豐銀行的筆試題)03-13
IBM筆試題目05-02